summaryrefslogtreecommitdiff
path: root/testsuite/tests/cabal/cabal02/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/cabal/cabal02/Makefile')
-rw-r--r--testsuite/tests/cabal/cabal02/Makefile33
1 files changed, 33 insertions, 0 deletions
diff --git a/testsuite/tests/cabal/cabal02/Makefile b/testsuite/tests/cabal/cabal02/Makefile
new file mode 100644
index 0000000000..c7348a3927
--- /dev/null
+++ b/testsuite/tests/cabal/cabal02/Makefile
@@ -0,0 +1,33 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/test.mk
+
+CABAL_SETUP = $(FPTOOLS_TOP_ABS)/libraries/Cabal/cabal-setup/cabal-setup
+
+CONFIG_ARGS = --with-compiler=$(TEST_HC) --ghc-options='$(TEST_HC_OPTS)' --with-hc-pkg=$(GHC_PKG)
+
+# We have 3 packages, P-1.0, P-2.0, and Q. Q depends on P-1.0.
+# We have an executable R, that depends on P-2.0 and Q, so the resulting
+# executable will link to both P-1.0 and P-2.0.
+
+cabal02 :
+ (cd P1 && $(CABAL_SETUP) configure $(CONFIG_ARGS))
+ (cd P1 && $(CABAL_SETUP) build)
+ (cd P1 && $(CABAL_SETUP) register --inplace --user)
+ (cd P2 && $(CABAL_SETUP) configure $(CONFIG_ARGS))
+ (cd P2 && $(CABAL_SETUP) build)
+ (cd P2 && $(CABAL_SETUP) register --inplace --user)
+ (cd Q && $(CABAL_SETUP) configure $(CONFIG_ARGS))
+ (cd Q && $(CABAL_SETUP) build)
+ (cd Q && $(CABAL_SETUP) register --inplace --user)
+ (cd R && $(CABAL_SETUP) configure $(CONFIG_ARGS))
+ (cd R && $(CABAL_SETUP) build)
+ $(MAKE) clean
+
+clean ::
+ (cd P1 && $(CABAL_SETUP) unregister --user)
+ (cd P2 && $(CABAL_SETUP) unregister --user)
+ (cd Q && $(CABAL_SETUP) unregister --user)
+ (cd P1 && $(CABAL_SETUP) clean)
+ (cd P2 && $(CABAL_SETUP) clean)
+ (cd Q && $(CABAL_SETUP) clean)