bindist fixes
[ghc-hetmet.git] / driver / Makefile
index a835209..7a07cbd 100644 (file)
@@ -7,17 +7,19 @@
 TOP=..
 include $(TOP)/mk/boilerplate.mk
 
-SUBDIRS = mangler split ghc ghci
+SUBDIRS = mangler split ghci
 
-boot all :: package.conf.inplace package.conf
+INPLACE_DATA_DIR = $(FPTOOLS_TOP_ABS)/inplace-datadir
+INPLACE_PKG_CONF = $(INPLACE_DATA_DIR)/package.conf
+# Used to signal that we are inplace, as opposed to installed:
+INPLACE_FILE     = $(INPLACE_DATA_DIR)/inplace
 
-package.conf.inplace :
-       echo "[]" > $@
+boot all ::
+       $(MKDIRHIER) $(INPLACE_DATA_DIR)
+       test -e $(INPLACE_PKG_CONF) || echo "[]" > $(INPLACE_PKG_CONF)
+       echo "[]" > package.conf
+       touch $(INPLACE_FILE)
 
-package.conf :
-       echo "[]" > $@
-
-override datadir = $(libdir)
 INSTALL_DATAS += package.conf ghc-usage.txt ghci-usage.txt
 
 # Since cleaning effectively uninstalls all the packages, we must 
@@ -26,9 +28,7 @@ INSTALL_DATAS += package.conf ghc-usage.txt ghci-usage.txt
 CLEAN_FILES += package.conf* stamp-pkg-conf*
 
 binary-dist:
-       $(INSTALL_DIR)                   $(BIN_DIST_DIR)/driver
-       $(INSTALL_DATA) Makefile         $(BIN_DIST_DIR)/driver
-       $(INSTALL_DATA) $(INSTALL_DATAS) $(BIN_DIST_DIR)/driver
-       set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d binary-dist; done
+       for FILE in Makefile $(INSTALL_DATAS); do echo $(WHERE_AM_I)/$$FILE >> $(BIN_DIST_LIST); done
+       set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d binary-dist WHERE_AM_I=$(WHERE_AM_I)/$$d; done
 
 include $(TOP)/mk/target.mk