###
install: cabal/install lib/install cli/install web/install
cabal/install:
- cabal update
- cabal install -v cabal
+ cabal update $(CABAL_FLAGS) $(CABAL_UPDATE_FLAGS)
+ cabal install -v $(CABAL_FLAGS) $(CABAL_INSTALL_FLAGS) cabal
.PHONY: lib cli web
lib lib/install:
- cabal install -v --force-reinstalls lib/hcompta-lib.cabal
+ cabal install -v --force-reinstalls $(CABAL_FLAGS) $(CABAL_INSTALL_FLAGS) ./lib
cli cli/install:
- cabal install -v --force-reinstalls cli/hcompta-cli.cabal
+ cabal install -v --force-reinstalls $(CABAL_FLAGS) $(CABAL_INSTALL_FLAGS) ./cli
web web/install:
- cabal install -v --force-reinstalls web/hcompta-web.cabal
+ cabal install -v --force-reinstalls $(CABAL_FLAGS) $(CABAL_INSTALL_FLAGS) ./web
+
+#
+## clean
+###
+clean: lib/clean cli/clean web/clean doc/clean
+lib/clean:
+ (cd lib && cabal clean)
+cli/clean:
+ (cd cli && cabal clean)
+web/clean:
+ (cd web && cabal clean)
#
## test
###
test: lib/test cli/test web/test
lib/test:
- (cd lib && cabal test --show-details=always)
+ (cd lib && cabal test --show-details=always $(CABAL_FLAGS) $(CABAL_TEST_FLAGS))
cli/test:
- (cd cli && cabal test --show-details=always)
+ (cd cli && cabal test --show-details=always $(CABAL_FLAGS) $(CABAL_TEST_FLAGS))
web/test:
- (cd web && cabal test --show-details=always)
+ (cd web && cabal test --show-details=always $(CABAL_FLAGS) $(CABAL_TEST_FLAGS))
+%/install/test: CABAL_INSTALL_FLAGS+=--enable-tests
+%/install/test: %/install
+
#
## doc
.PHONY: doc
doc: doc/xhtml lib/doc cli/doc web/doc
lib/doc:
- (cd lib && cabal haddock --hyperlink-source)
+ (cd lib && cabal haddock --hyperlink-source $(CABAL_FLAGS) $(CABAL_HADDOCK_FLAGS))
cli/doc:
- (cd cli && cabal haddock --hyperlink-source)
+ (cd cli && cabal haddock --hyperlink-source $(CABAL_FLAGS) $(CABAL_HADDOCK_FLAGS))
web/doc:
- (cd web && cabal haddock --hyperlink-source)
+ (cd web && cabal haddock --hyperlink-source $(CABAL_FLAGS) $(CABAL_HADDOCK_FLAGS))
doc/%: .
$(MAKE) -C doc $*
+
+#
+## dev
+###
+%/dev: CABAL_INSTALL_FLAGS+=-fdev
+%/dev: %
+
+#