X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=driver%2FMakefile;h=016eab2f4484d3158b8109f2d641d222a60532f8;hb=4e340bbb54087a3a5b12afc6e2ad3664ec4beed3;hp=a8352090c163384452d5e8ffaaab1343e5ae9f46;hpb=79b5a2cb4b9ed5fe41a05fa2ec98bd1f83971daf;p=ghc-hetmet.git diff --git a/driver/Makefile b/driver/Makefile index a835209..016eab2 100644 --- a/driver/Makefile +++ b/driver/Makefile @@ -7,28 +7,30 @@ TOP=.. include $(TOP)/mk/boilerplate.mk -SUBDIRS = mangler split ghc ghci +SUBDIRS = mangler split ghc ghc-pkg ghci runhaskell -boot all :: package.conf.inplace package.conf +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 -f $(INPLACE_PKG_CONF) || echo "[]" > $(INPLACE_PKG_CONF) + touch $(INPLACE_FILE) -package.conf : - echo "[]" > $@ - -override datadir = $(libdir) -INSTALL_DATAS += package.conf ghc-usage.txt ghci-usage.txt +INSTALL_DATAS += ghc-usage.txt ghci-usage.txt # Since cleaning effectively uninstalls all the packages, we must # remove the stamp files that the build system uses to avoid unnecessarily -# re-installing packages. -CLEAN_FILES += package.conf* stamp-pkg-conf* +# re-installing the RTS +CLEAN_FILES += stamp-pkg-conf-rts 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 +ifeq "$(WHERE_AM_I)" "" + echo "I don't know where I am" >&2 + exit 1 +endif + 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