c4ef66e290b0cd6e8c5dcb77fad677f1c0c96f24
[ghc-hetmet.git] / mk / bindist.mk
1
2 LIB_DIST_DIR = dist
3 EXE_DIST_DIR = dist-install
4
5 # XXX This is a bit of a mess. Really we should be just asking Cabal
6 # what it would install and putting those files in the bindist.
7 binary-dist:
8 ifeq "$(WHERE_AM_I)" ""
9         echo "I don't know where I am" >&2
10         exit 1
11 endif
12         # General bits
13         -$(FIND) . -name Makefile                      -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
14         -$(FIND) . -name LICENSE                       -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
15         # Libraries
16         -$(FIND) $(LIB_DIST_DIR)/setup-config          -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
17         -$(FIND) $(LIB_DIST_DIR)/installed-pkg-config  -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
18         -$(FIND) $(LIB_DIST_DIR)/build -name "HS*.o"   -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
19         -$(FIND) $(LIB_DIST_DIR)/build -name "HS*.p_o" -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
20         -$(FIND) $(LIB_DIST_DIR)/build -name "*.a"     -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
21         -$(FIND) $(LIB_DIST_DIR)/build -name "*.p_a"   -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
22         -$(FIND) $(LIB_DIST_DIR)/build -name "*.hi"    -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
23         -$(FIND) $(LIB_DIST_DIR)/build -name "*.p_hi"  -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
24         -$(FIND) include -name "*.h"                   -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
25         # Executables
26         -$(FIND) . -name "*.wrapper"                   -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
27         -$(FIND) $(EXE_DIST_DIR)/setup-config          -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
28         # We want the executable files, which in theory would be -perm /a+x
29         # ("any execute bit is set") but that doesn't work on some solaris
30         # and OS X machines, so we use -perm -100 instead ("the user execute
31         # bit is set"). In practice, this is extremely unlikely not to be the
32         # same set of files.
33         -$(FIND) $(EXE_DIST_DIR) -type f -perm -100    -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
34         # Docs
35         # This gives us both docbook docs, and haddock docs
36         $(FIND) . -name "*.haddock"                    -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
37         $(FIND) . -name "*.html"                       -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
38         $(FIND) . -name "*.css"                        -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
39         $(FIND) . -name "*.gif"                        -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
40         $(FIND) . -name "*.js"                         -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
41         # And anything else
42 ifneq "$(strip $(BINDIST_EXTRAS))" ""
43         for FILE in $(BINDIST_EXTRAS); do if [ -f $$FILE ]; then echo $(WHERE_AM_I)/$$FILE >> $(BIN_DIST_LIST); fi; done
44 endif
45