X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=includes%2Fghc.mk;h=8d4fd473c04a4a1d02da50124dbecf1365a89c65;hp=1f7ea116e0962b76d032d69ccec057ff5262ab31;hb=58c4c3612c6c4e01ecd0e50648a11c5bd35c5aeb;hpb=57e2a81c589103b50da80a9e378b1a11285bd521 diff --git a/includes/ghc.mk b/includes/ghc.mk index 1f7ea11..8d4fd47 100644 --- a/includes/ghc.mk +++ b/includes/ghc.mk @@ -18,9 +18,17 @@ includes_H_CONFIG = includes/ghcautoconf.h includes_H_PLATFORM = includes/ghcplatform.h # -# All header files +# All header files are in includes/{one of these subdirectories} # -includes_H_FILES = $(filter-out $(includes_H_CONFIG) $(includes_H_PLATFORM),$(wildcard includes/*.h includes/*/*.h includes/*/*/*.h)) +includes_H_SUBDIRS += . +includes_H_SUBDIRS += rts +includes_H_SUBDIRS += rts/prof +includes_H_SUBDIRS += rts/storage +includes_H_SUBDIRS += stg + +includes_H_FILES := $(wildcard $(patsubst %,includes/%/*.h,$(includes_H_SUBDIRS))) +# This isn't necessary, but it makes the paths look a little prettier +includes_H_FILES := $(subst /./,/,$(includes_H_FILES)) # # Options @@ -129,7 +137,7 @@ includes_dist-derivedconstants_PROG = mkDerivedConstants$(exeext) $(eval $(call build-prog,includes,dist-derivedconstants,0)) -$(includes_dist-derivedconstants_depfile_c_asm) : $(includes_H_CONFIG) $(includes_H_PLATFORM) $(wildcard includes/*.h) $(wildcard rts/*.h) +$(includes_dist-derivedconstants_depfile_c_asm) : $(includes_H_CONFIG) $(includes_H_PLATFORM) $(includes_H_FILES) $$(rts_H_FILES) includes/dist-derivedconstants/build/mkDerivedConstants.o : $(includes_H_CONFIG) $(includes_H_PLATFORM) ifneq "$(BINDIST)" "YES" @@ -159,7 +167,7 @@ includes_dist-ghcconstants_CC_OPTS = -DGEN_HASKELL $(eval $(call build-prog,includes,dist-ghcconstants,0)) ifneq "$(BINDIST)" "YES" -$(includes_dist-ghcconstants_depfile_c_asm) : $(includes_H_CONFIG) $(includes_H_PLATFORM) $(wildcard includes/*.h) $(wildcard rts/*.h) +$(includes_dist-ghcconstants_depfile_c_asm) : $(includes_H_CONFIG) $(includes_H_PLATFORM) $(includes_H_FILES) $$(rts_H_FILES) includes/dist-ghcconstants/build/mkDerivedConstants.o : $(includes_H_CONFIG) $(includes_H_PLATFORM) @@ -180,16 +188,14 @@ $(eval $(call all-target,includes,,\ $(includes_H_CONFIG) $(includes_H_PLATFORM) \ $(includes_GHCCONSTANTS) $(includes_DERIVEDCONSTANTS))) -includes_subdirs = $(sort $(subst includes/,,$(foreach d,$(includes_H_FILES),$(dir $(d))))) - install: install_includes .PHONY: install_includes install_includes : $(call INSTALL_DIR,"$(DESTDIR)$(ghcheaderdir)") - for d in $(includes_subdirs); do \ - $(call INSTALL_DIR,"$(DESTDIR)$(ghcheaderdir)/$$d"); \ - done - for i in $(subst includes/,,$(includes_H_FILES) $(includes_H_CONFIG) $(includes_H_PLATFORM)); do \ - $(call INSTALL_HEADER,$(INSTALL_OPTS),includes/$$i,"$(DESTDIR)$(ghcheaderdir)/$$i"); \ - done + $(foreach d,$(includes_H_SUBDIRS), \ + $(call INSTALL_DIR,"$(DESTDIR)$(ghcheaderdir)/$d") && \ + $(call INSTALL_HEADER,$(INSTALL_OPTS),includes/$d/*.h,"$(DESTDIR)$(ghcheaderdir)/$d/") && \ + ) true + $(call INSTALL_HEADER,$(INSTALL_OPTS),$(includes_H_CONFIG) $(includes_H_PLATFORM),"$(DESTDIR)$(ghcheaderdir)/") +