add --enable-shared to configure, and $(BuildSharedLibs) to the build system
[ghc-hetmet.git] / ghc / Makefile
index fba3e9f..b1a14d3 100644 (file)
@@ -17,6 +17,11 @@ boot:: boot.stage.$(stage)
 
 all:: build.stage.$(stage)
 
+rebuild ::
+       -$(CABAL) clean --distpref dist-stage$(stage)
+       $(RM) -rf stage$(stage)-inplace
+       $(MAKE) boot all
+
 stage1 ::
        $(MAKE) stage=1
 
@@ -56,12 +61,20 @@ ifeq "$(GhcThreaded)" "YES"
 CONFIGURE_FLAGS_STAGE2 += --ghc-option=-threaded
 endif
 
+ifeq "$(BuildSharedLibs)" "YES"
+CONFIGURE_FLAGS_STAGE2 += --ghc-option=-dynamic
+endif
+
 CONFIGURE_FLAGS_STAGE3 = $(CONFIGURE_FLAGS_STAGE2)
 
 CONFIGURE_FLAGS_STAGE1 += $(USE_BOOT_CONFIGURE_FLAGS)
 CONFIGURE_FLAGS_STAGE2 += $(USE_STAGE1_CONFIGURE_FLAGS)
 CONFIGURE_FLAGS_STAGE3 += $(USE_STAGE2_CONFIGURE_FLAGS)
 
+# Allow EXTRA_HC_OPTS to be used from the command line to add options 
+# when building (e.g. -v)
+BUILD_FLAGS=$(patsubst %, --ghc-option=%, $(EXTRA_HC_OPTS))
+
 # XXX In stage2+ we should really use the inplace ghc-pkg
 # It works because installPackage doesn't actually use ghc-pkg, as there's
 # no library to register
@@ -80,7 +93,7 @@ build.stage.%:
        $(INSTALL_PACKAGE) install '$(GHC_PKG_PROG)' 'XXX/package.conf' "" \
                           $(FPTOOLS_TOP_ABS)/ghc/stage$*-inplace          \
                           $(FPTOOLS_TOP_ABS)/ghc/stage$*-inplace          \
-                          '$$prefix/bin'                                  \
+                          '$$prefix'                                      \
                           '$(INPLACE_DATA_DIR)'                           \
                           '$$prefix/libexec'                              \
                           '$$prefix/dynlib'                               \