X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fbindist.mk;h=c4ef66e290b0cd6e8c5dcb77fad677f1c0c96f24;hb=49fcef380f65b32ad03ce04171b6019ab48a714e;hp=2ab0259d675002b0a4e433af058667701cb39082;hpb=5d892c8461b3af2174f13be6516b245bda8ae29e;p=ghc-hetmet.git diff --git a/mk/bindist.mk b/mk/bindist.mk index 2ab0259..c4ef66e 100644 --- a/mk/bindist.mk +++ b/mk/bindist.mk @@ -5,26 +5,41 @@ EXE_DIST_DIR = dist-install # XXX This is a bit of a mess. Really we should be just asking Cabal # what it would install and putting those files in the bindist. binary-dist: +ifeq "$(WHERE_AM_I)" "" + echo "I don't know where I am" >&2 + exit 1 +endif # General bits - -find . -name Makefile -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null - -find . -name LICENSE -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) . -name Makefile -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) . -name LICENSE -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null # Libraries - -find $(LIB_DIST_DIR)/setup-config -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null - -find $(LIB_DIST_DIR)/installed-pkg-config -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null - -find $(LIB_DIST_DIR)/build -name "HS*.o" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null - -find $(LIB_DIST_DIR)/build -name "HS*.p_o" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null - -find $(LIB_DIST_DIR)/build -name "*.a" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null - -find $(LIB_DIST_DIR)/build -name "*.p_a" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null - -find $(LIB_DIST_DIR)/build -name "*.hi" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null - -find $(LIB_DIST_DIR)/build -name "*.p_hi" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null - -find include -name "*.h" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null - -find $(LIB_DIST_DIR)/doc -type f -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) $(LIB_DIST_DIR)/setup-config -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) $(LIB_DIST_DIR)/installed-pkg-config -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) $(LIB_DIST_DIR)/build -name "HS*.o" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) $(LIB_DIST_DIR)/build -name "HS*.p_o" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) $(LIB_DIST_DIR)/build -name "*.a" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) $(LIB_DIST_DIR)/build -name "*.p_a" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) $(LIB_DIST_DIR)/build -name "*.hi" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) $(LIB_DIST_DIR)/build -name "*.p_hi" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) include -name "*.h" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null # Executables - -find . -name "*.wrapper" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null - -find $(EXE_DIST_DIR)/setup-config -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null - -find $(EXE_DIST_DIR) -perm /a+x -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) . -name "*.wrapper" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + -$(FIND) $(EXE_DIST_DIR)/setup-config -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + # We want the executable files, which in theory would be -perm /a+x + # ("any execute bit is set") but that doesn't work on some solaris + # and OS X machines, so we use -perm -100 instead ("the user execute + # bit is set"). In practice, this is extremely unlikely not to be the + # same set of files. + -$(FIND) $(EXE_DIST_DIR) -type f -perm -100 -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + # Docs + # This gives us both docbook docs, and haddock docs + $(FIND) . -name "*.haddock" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + $(FIND) . -name "*.html" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + $(FIND) . -name "*.css" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + $(FIND) . -name "*.gif" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null + $(FIND) . -name "*.js" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null # And anything else -ifneq "$(BINDIST_EXTRAS)" "" - for FILE in $(BINDIST_EXTRAS); do if [ -e $$FILE ]; then echo $(WHERE_AM_I)/$$FILE >> $(BIN_DIST_LIST); fi; done +ifneq "$(strip $(BINDIST_EXTRAS))" "" + for FILE in $(BINDIST_EXTRAS); do if [ -f $$FILE ]; then echo $(WHERE_AM_I)/$$FILE >> $(BIN_DIST_LIST); fi; done endif