2 include $(TOP)/mk/boilerplate.mk
4 ifeq "$(DOING_BIN_DIST)" "YES"
5 # We're doing a binary-dist, descend into a subset of the dirs.
6 SUBDIRS = mkdirhier hp2ps parallel unlit
8 ifeq "$(BootingFromHc)" "YES"
9 SUBDIRS = mkdependC mkdirhier runstdtest genapply genprimopcode unlit
11 SUBDIRS = mkdependC mkdirhier runstdtest hp2ps \
12 parallel unlit genprimopcode genapply
14 #ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
15 ## lndir doesn't build on Windows
20 ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
24 # XXX pwd and lndir building disabled for now
26 # Utils that we don't build by default:
29 # Utils that are old and/or bitrotted:
40 # "heap-view" is not in the list because (a) it requires
41 # a Haskell compiler (which you may not have yet), and (b) you are
42 # unlikely to want it desperately. It is easy to build once you have
43 # a Haskell compiler and if you want it.
45 include $(TOP)/mk/target.mk
47 # genprimopcode is needed to boot in ghc/compiler...
48 ifneq "$(BootingFromHc)" "YES"
50 $(MAKE) -C genprimopcode
53 WITH_BOOTSTRAPPING_COMPILER = installPackage ghc-pkg hsc2hs hpc
55 WITH_STAGE2 = installPackage ghc-pkg hasktags runghc hpc pwd haddock
56 ifneq "$(NO_INSTALL_HSC2HS)" "YES"
60 # sort removes duplicates - we don't actually care about the order
61 WITH_EITHER = $(sort $(WITH_BOOTSTRAPPING_COMPILER) $(WITH_STAGE2))
63 binary-dist: $(foreach P,$(WITH_STAGE2),binary-dist.$P)
64 ifeq "$(WHERE_AM_I)" ""
65 echo "I don't know where I am" >&2
68 echo $(WHERE_AM_I)/Makefile >> $(BIN_DIST_LIST)
69 set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d binary-dist WHERE_AM_I=$(WHERE_AM_I)/$$d; done
71 clean:: $(foreach P,$(WITH_EITHER),clean.$P)
73 distclean:: $(foreach P,$(WITH_EITHER),distclean.$P)
75 with-bootstrapping-compiler: \
76 $(foreach P,$(WITH_BOOTSTRAPPING_COMPILER),with-bootstrapping-compiler.$P)
78 with-stage-2: $(foreach P,$(WITH_STAGE2),with-stage-2.$P)
79 $(MAKE) -C haddock install-inplace
81 install:: $(foreach P,$(WITH_STAGE2),install.$P)
83 $(foreach P,$(WITH_EITHER),clean.$P): \
87 $(foreach P,$(WITH_EITHER),distclean.$P): \
89 $(MAKE) -C $* distclean
91 $(foreach P,$(WITH_BOOTSTRAPPING_COMPILER),with-bootstrapping-compiler.$P): \
92 with-bootstrapping-compiler.%:
93 $(MAKE) -C $* with-bootstrapping-compiler
95 $(foreach P,$(WITH_STAGE2),with-stage-2.$P): \
97 $(MAKE) -C $* with-stage-2
99 $(foreach P,$(WITH_STAGE2),install.$P): \
101 $(MAKE) -C $* install
103 $(foreach P,$(WITH_STAGE2),binary-dist.$P): \
105 $(MAKE) -C $* binary-dist WHERE_AM_I=$(WHERE_AM_I)/$*