X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2Fghc.mk;h=007ce4bb5d7570438fa4dea25eb2f5938411293f;hb=53628e913632cac29d54da914040e39add334784;hp=4e9a59823ff0022307d8b4fdce19f05f7d20a17c;hpb=34cc75e1a62638f2833815746ebce0a9114dc26b;p=ghc-hetmet.git diff --git a/includes/ghc.mk b/includes/ghc.mk index 4e9a598..007ce4b 100644 --- a/includes/ghc.mk +++ b/includes/ghc.mk @@ -1,3 +1,15 @@ +# ----------------------------------------------------------------------------- +# +# (c) 2009 The University of Glasgow +# +# This file is part of the GHC build system. +# +# To understand how the build system works and how to modify it, see +# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture +# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying +# +# ----------------------------------------------------------------------------- + # # Header files built from the configure script's findings # @@ -8,7 +20,7 @@ includes_H_PLATFORM = includes/ghcplatform.h # # All header files # -includes_H_FILES = $(filter-out $(includes_H_CONFIG) $(includes_H_PLATFORM),$(wildcard includes/*.h)) +includes_H_FILES = $(filter-out $(includes_H_CONFIG) $(includes_H_PLATFORM),$(wildcard includes/*.h includes/*/*.h includes/*/*/*.h)) # # Options @@ -21,14 +33,7 @@ ifeq "$(GhcEnableTablesNextToCode) $(GhcUnregisterised)" "YES NO" includes_CC_OPTS += -DTABLES_NEXT_TO_CODE endif -includes_CC_OPTS += -Iincludes -Irts -Irts/parallel -ifeq "$(HaveLibGmp)" "YES" -ifneq "$(GMP_INCLUDE_DIRS)" "" -includes_CC_OPTS += -I$(GMP_INCLUDE_DIRS) -endif -else -includes_CC_OPTS += -Igmp/gmpbuild -endif +includes_CC_OPTS += -Iincludes -Irts ifneq "$(GhcWithSMP)" "YES" includes_CC_OPTS += -DNOSMP @@ -60,8 +65,8 @@ $(includes_H_CONFIG) : mk/config.h mk/config.mk includes/ghc.mk endif -$(includes_H_PLATFORM) : Makefile - $(RM) $@ +$(includes_H_PLATFORM) : includes/Makefile + "$(RM)" $(RM_OPTS) $@ @echo "Creating $@..." @echo "#ifndef __GHCPLATFORM_H__" >$@ @echo "#define __GHCPLATFORM_H__" >>$@ @@ -124,7 +129,7 @@ includes_dist-derivedconstants_PROG = mkDerivedConstants$(exeext) $(eval $(call build-prog,includes,dist-derivedconstants,0)) -$(includes_dist-derivedconstants_depfile) : $(includes_H_CONFIG) $(includes_H_PLATFORM) +$(includes_dist-derivedconstants_depfile) : $(includes_H_CONFIG) $(includes_H_PLATFORM) $(wildcard includes/*.h) $(wildcard rts/*.h) includes/dist-derivedconstants/build/mkDerivedConstants.o : $(includes_H_CONFIG) $(includes_H_PLATFORM) ifneq "$(BINDIST)" "YES" @@ -154,7 +159,7 @@ includes_dist-ghcconstants_CC_OPTS = -DGEN_HASKELL $(eval $(call build-prog,includes,dist-ghcconstants,0)) ifneq "$(BINDIST)" "YES" -$(includes_dist-ghcconstants_depfile) : $(includes_H_CONFIG) $(includes_H_PLATFORM) +$(includes_dist-ghcconstants_depfile) : $(includes_H_CONFIG) $(includes_H_PLATFORM) $(wildcard includes/*.h) $(wildcard rts/*.h) includes/dist-ghcconstants/build/mkDerivedConstants.o : $(includes_H_CONFIG) $(includes_H_PLATFORM) @@ -167,8 +172,6 @@ endif # --------------------------------------------------------------------------- # Install all header files -INSTALL_HEADERS += $(includes_H_FILES) $(includes_H_CONFIG) $(includes_H_PLATFORM) - $(eval $(call clean-target,includes,,\ $(includes_H_CONFIG) $(includes_H_PLATFORM) \ $(includes_GHCCONSTANTS) $(includes_DERIVEDCONSTANTS))) @@ -177,3 +180,16 @@ $(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 : + $(INSTALL_DIR) $(DESTDIR)$(ghcheaderdir) + for d in $(includes_subdirs); do \ + $(INSTALL_DIR) $(DESTDIR)$(ghcheaderdir)/$$d; \ + done + for i in $(subst includes/,,$(includes_H_FILES) $(includes_H_CONFIG) $(includes_H_PLATFORM)); do \ + $(INSTALL_HEADER) $(INSTALL_OPTS) includes/$$i $(DESTDIR)$(ghcheaderdir)/$$i; \ + done