lib/rapi/client.py \
lib/rapi/client_utils.py \
lib/rapi/connector.py \
- lib/rapi/rlib2.py
+ lib/rapi/rlib2.py \
+ lib/rapi/testutils.py
http_PYTHON = \
lib/http/__init__.py \
doc/walkthrough.rst
HS_PROGS = htools/htools
-HS_BIN_ROLES = hbal hscan hspace
+HS_BIN_ROLES = hbal hscan hspace hinfo
HS_ALL_PROGS = $(HS_PROGS) htools/test
HS_PROG_SRCS = $(patsubst %,%.hs,$(HS_ALL_PROGS))
HFLAGS = -O -Wall -fwarn-monomorphism-restriction -fwarn-tabs -ihtools
# extra flags that can be overriden on the command line
HEXTRA =
+# internal extra flags (used for htools/test mainly)
+HEXTRA_INT =
# exclude options for coverage reports
HPCEXCL = --exclude Main \
--exclude Ganeti.Constants \
htools/Ganeti/HTools/Text.hs \
htools/Ganeti/HTools/Types.hs \
htools/Ganeti/HTools/Utils.hs \
+ htools/Ganeti/HTools/Program.hs \
htools/Ganeti/HTools/Program/Hail.hs \
htools/Ganeti/HTools/Program/Hbal.hs \
+ htools/Ganeti/HTools/Program/Hinfo.hs \
htools/Ganeti/HTools/Program/Hscan.hs \
htools/Ganeti/HTools/Program/Hspace.hs \
+ htools/Ganeti/BasicTypes.hs \
htools/Ganeti/Jobs.hs \
htools/Ganeti/Luxi.hs \
htools/Ganeti/OpCodes.hs \
$(HFLAGS) \
$(HTOOLS_NOCURL) $(HTOOLS_PARALLEL3) \
-osuf $$BINARY.o -hisuf $$BINARY.hi \
- $(HEXTRA) $@
+ $(HEXTRA) $(HEXTRA_INT) $@
# for the htools/test binary, we need to enable profiling/coverage
-htools/test: HEXTRA=-fhpc -Wwarn -fno-warn-missing-signatures \
+htools/test: HEXTRA_INT=-fhpc -Wwarn -fno-warn-missing-signatures \
-fno-warn-monomorphism-restriction -fno-warn-orphans \
-fno-warn-missing-methods -fno-warn-unused-imports
+# rules for building profiling-enabled versions of the haskell
+# programs: hs-prof does the full two-step build, whereas
+# hs-prof-quick does only the final rebuild (hs-prof must have been
+# run before)
+.PHONY: hs-prof hs-prof-quick
+hs-prof:
+ $(MAKE) clean
+ $(MAKE) $(HS_ALL_PROGS) HEXTRA="-osuf .o"
+ rm -f $(HS_ALL_PROGS)
+ $(MAKE) hs-prof-quick
+
+hs-prof-quick:
+ $(MAKE) $(HS_ALL_PROGS) HEXTRA="-osuf .prof_o -prof -auto-all"
+
dist_sbin_SCRIPTS = \
tools/ganeti-listrunner
tools/cfgupgrade12 \
tools/cluster-merge \
tools/confd-client \
+ tools/fmtjson \
tools/lvmstrap \
tools/move-instance \
tools/ovfconverter \
man/gnt-os.8 \
man/hail.1 \
man/hbal.1 \
+ man/hinfo.1 \
man/hscan.1 \
man/hspace.1 \
man/htools.1
test/ganeti.rapi.client_unittest.py \
test/ganeti.rapi.resources_unittest.py \
test/ganeti.rapi.rlib2_unittest.py \
+ test/ganeti.rapi.testutils_unittest.py \
test/ganeti.rpc_unittest.py \
test/ganeti.runtime_unittest.py \
test/ganeti.serializer_unittest.py \