When installing, we can't rely on the ghc-pkg we just installed to work
[ghc-hetmet.git] / mk / cabal.mk
index 1ae6cba..efd75e2 100644 (file)
@@ -2,9 +2,7 @@
 include $(TOP)/mk/cabal-flags.mk
 include $(TOP)/mk/bindist.mk
 
-# XXX We would like to turn this on, but Cabal generates paths files
-#     that are not -Wall clean!
-# SRC_HC_OPTS      += -Wall
+SRC_HC_OPTS      += -Wall
 
 ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
 INSTALL_FLAGS =
@@ -16,14 +14,14 @@ INSTALL_FLAGS =
 endif
 endif
 
-# Tell stage1 to make a dynamically-linked binary, but no wrapper.  We assume
+# Tell stage2 to make a dynamically-linked binary, but no wrapper.  We assume
 # that in an installation the shared libs will be installed somewhere that
 # the system can find them.
 ifeq "$(BuildSharedLibs)" "YES"
 DYN_FLAGS = --ghc-option=-dynamic --ghc-option=-dynload --ghc-option=deploy
 endif
 
-.PHONY: default all with-bootstrapping-compiler with-stage-1 clean distclean
+.PHONY: default all with-bootstrapping-compiler with-stage-2 clean distclean
 
 default all: with-bootstrapping-compiler
 
@@ -36,28 +34,34 @@ with-bootstrapping-compiler:
        $(CABAL) build     --distpref dist-inplace $(BUILD_FLAGS)
        $(CABAL) install   --distpref dist-inplace $(INSTALL_FLAGS)
 
-with-stage-1:
+with-stage-2:
        $(CABAL) configure --distpref dist-install         \
                           $(INSTALL_DIRS_CONFIGURE_FLAGS) \
-                          $(USE_STAGE1_CONFIGURE_FLAGS)   \
+                          $(USE_STAGE2_CONFIGURE_FLAGS)   \
                           $(COMMON_CONFIGURE_FLAGS)       \
-                          $(EXTRA_STAGE1_CONFIGURE_FLAGS)
+                          $(EXTRA_STAGE2_CONFIGURE_FLAGS)
        $(CABAL) build     --distpref dist-install $(DYN_FLAGS) $(BUILD_FLAGS)
 
 install:
-       $(INSTALL_PACKAGE) install UNUSED UNUSED '$(DESTDIR)' '$(prefix)' \
+       $(INSTALL_PACKAGE) install                                        \
+                          '$(GHC_PKG_INSTALL_PROG)'                      \
+                          '$(DESTDIR)$(datadir)/package.conf'            \
+                          '$(DESTDIR)' '$(prefix)'                       \
                           '$(prefix)' '$(bindir)' '$(libdir)'            \
-                       '$(libexecdir)' '$(dynlibdir)' '$(datadir)'    \
-                       '$(docdir)' '$(htmldir)' '$(haddockdir)'       \
+                          '$(libexecdir)' '$(dynlibdir)' '$(datadir)'    \
+                          '$(docdir)' '$(htmldir)' '$(haddockdir)'       \
                           --distpref dist-install                        \
                           $(INSTALL_FLAGS)
 
-clean: distclean
-
-distclean:
+clean:
        -$(CABAL) clean --distpref dist-inplace
        -$(CABAL) clean --distpref dist-install
 ifneq "$(EXTRA_CLEAN)" ""
        $(RM) -f $(EXTRA_CLEAN)
 endif
 
+distclean: clean
+ifneq "$(EXTRA_DISTCLEAN)" ""
+       $(RM) -f $(EXTRA_DISTCLEAN)
+endif
+