X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2FMakefile;h=6dc6838b3449b14d352d8df52dd73cef05ba744d;hb=27de38efce6d73d2a0209f803cfa98c82773e773;hp=276a73699014d9c437a18a78d836895ecfb255df;hpb=79b5a2cb4b9ed5fe41a05fa2ec98bd1f83971daf;p=ghc-hetmet.git diff --git a/utils/Makefile b/utils/Makefile index 276a736..6dc6838 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -3,24 +3,26 @@ include $(TOP)/mk/boilerplate.mk ifeq "$(DOING_BIN_DIST)" "YES" # We're doing a binary-dist, descend into a subset of the dirs. -SUBDIRS = mkdirhier ghc-pkg hasktags hp2ps hsc2hs parallel prof unlit runghc +SUBDIRS = mkdirhier hp2ps parallel unlit else ifeq "$(BootingFromHc)" "YES" -SUBDIRS = mkdependC mkdirhier runstdtest genapply genprimopcode ghc-pkg unlit +SUBDIRS = mkdependC mkdirhier runstdtest genapply genprimopcode unlit else -SUBDIRS = mkdependC mkdirhier runstdtest ghc-pkg hasktags hp2ps hsc2hs \ - parallel prof unlit genprimopcode genapply runghc -endif -ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" -# lndir doesn't build on Windows -SUBDIRS += lndir +SUBDIRS = mkdependC mkdirhier runstdtest hp2ps \ + parallel unlit genprimopcode genapply endif +#ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" +## lndir doesn't build on Windows +#SUBDIRS += lndir +#endif endif ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" SUBDIRS += touchy endif +# XXX pwd and lndir building disabled for now + # Utils that we don't build by default: # nofib-analyse @@ -40,11 +42,6 @@ endif # unlikely to want it desperately. It is easy to build once you have # a Haskell compiler and if you want it. -binary-dist: - $(INSTALL_DIR) $(BIN_DIST_DIR)/utils - $(INSTALL_DATA) Makefile $(BIN_DIST_DIR)/utils/ - set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d binary-dist; done - include $(TOP)/mk/target.mk # genprimopcode is needed to boot in ghc/compiler... @@ -53,3 +50,46 @@ boot :: $(MAKE) -C genprimopcode endif +WITH_BOOTSTRAPPING_COMPILER = installPackage ghc-pkg hsc2hs hpc + +WITH_STAGE1 = installPackage ghc-pkg hasktags runghc hpc pwd +ifneq "$(NO_INSTALL_HSC2HS)" "YES" +WITH_STAGE1 += hsc2hs +endif + +# sort removes duplicates - we don't actually care about the order +WITH_EITHER = $(sort $(WITH_BOOTSTRAPPING_COMPILER) $(WITH_STAGE1)) + +binary-dist: $(foreach P,$(WITH_STAGE1),binary-dist.$P) + echo $(WHERE_AM_I)/Makefile >> $(BIN_DIST_LIST) + set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d binary-dist WHERE_AM_I=$(WHERE_AM_I)/$$d; done + +clean distclean:: $(foreach P,$(WITH_EITHER),clean.$P) + +with-bootstrapping-compiler: \ + $(foreach P,$(WITH_BOOTSTRAPPING_COMPILER),with-bootstrapping-compiler.$P) + +with-stage-1: $(foreach P,$(WITH_STAGE1),with-stage-1.$P) + +install:: $(foreach P,$(WITH_STAGE1),install.$P) + +$(foreach P,$(WITH_EITHER),clean.$P): \ +clean.%: + $(MAKE) -C $* clean + +$(foreach P,$(WITH_BOOTSTRAPPING_COMPILER),with-bootstrapping-compiler.$P): \ +with-bootstrapping-compiler.%: + $(MAKE) -C $* with-bootstrapping-compiler + +$(foreach P,$(WITH_STAGE1),with-stage-1.$P): \ +with-stage-1.%: + $(MAKE) -C $* with-stage-1 + +$(foreach P,$(WITH_STAGE1),install.$P): \ +install.%: + $(MAKE) -C $* install + +$(foreach P,$(WITH_STAGE1),binary-dist.$P): \ +binary-dist.%: + $(MAKE) -C $* binary-dist WHERE_AM_I=$(WHERE_AM_I)/$* +