summaryrefslogtreecommitdiff
path: root/mk/target.mk
diff options
context:
space:
mode:
authorsof <unknown>2001-09-28 23:36:50 +0000
committersof <unknown>2001-09-28 23:36:50 +0000
commit53ededd082a1efa78d54aaa855d7e7e76a8c7366 (patch)
tree0625f33efd7678be931ca269ca245898914c5088 /mk/target.mk
parentba36feb682e8f30a3716f71a49c6ec63f92487a6 (diff)
downloadhaskell-53ededd082a1efa78d54aaa855d7e7e76a8c7366.tar.gz
[project @ 2001-09-28 23:36:50 by sof]
Provide finer-grained control for turning off mk/target.mk's 'all', 'boot' and 'install' rules. i.e., instead of having the variable NO_ALL_TARGETS control the defnition of rules for all three, NO_ALL_TARGET, NO_BOOT_TARGET, and NO_INSTALL_TARGET lets you individually control which ones you don't want. Sub-projects (GC and HDirect, for example) have the need to turn off the 'boot' rule, which is what motivated this change.
Diffstat (limited to 'mk/target.mk')
-rw-r--r--mk/target.mk26
1 files changed, 22 insertions, 4 deletions
diff --git a/mk/target.mk b/mk/target.mk
index be37c9346e..ca32292db8 100644
--- a/mk/target.mk
+++ b/mk/target.mk
@@ -79,10 +79,24 @@
ifneq "$(SUBDIRS)" ""
-# we override the boot & all targets in the top level Makefile
-ifneq "$(NO_ALL_TARGETS)" "YES"
+# we override the 'boot', 'all' and 'install' targets in the top
+# level Makefile. Some of the sub-projects also set 'boot' to empty.
+
+ifeq "$(NO_ALL_TARGET)" "YES"
+ALL_TARGET =
+else
ALL_TARGET = all
+endif
+
+ifeq "$(NO_BOOT_TARGET)" "YES"
+BOOT_TARGET =
+else
BOOT_TARGET = boot
+endif
+
+ifneq "$(NO_INSTALL_TARGET)" "YES"
+INSTALL_TARGET =
+else
INSTALL_TARGET = install
endif
@@ -165,8 +179,12 @@ endif
# The boot target, at a minimum generates dependency information
.PHONY: boot
-boot :: depend
+ifeq "$(NO_BOOT_TARGET)" "YES"
+boot ::
+else
+boot :: depend
+endif
##################################################################
# GNU Standard targets
@@ -297,7 +315,7 @@ ifneq "$(BootingFromHc)" "YES"
$(HS_PROG) :: $(HS_OBJS)
$(HC) -o $@ $(HC_OPTS) $(LD_OPTS) $(HS_OBJS)
else
-# see bootstrp.mk
+# see bootstrap.mk
$(HS_PROG) :: $(HS_OBJS)
$(CC) -o $@ $(HC_BOOT_CC_OPTS) $(HC_BOOT_LD_OPTS) $(HS_OBJS) $(HC_BOOT_LIBS)
endif