[project @ 2001-09-28 23:36:50 by sof]
authorsof <unknown>
Fri, 28 Sep 2001 23:36:50 +0000 (23:36 +0000)
committersof <unknown>
Fri, 28 Sep 2001 23:36:50 +0000 (23:36 +0000)
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.

Makefile
mk/target.mk

index ed00829..243ccf3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -333,7 +333,11 @@ install ::
              fi; \
        done
 
-NO_ALL_TARGETS=YES
+# Turn off target.mk's rules for 'all', 'boot' and 'install'.
+NO_BOOT_TARGET=YES
+NO_ALL_TARGET=YES
+NO_INSTALL_TARGET=YES
+
 include $(TOP)/mk/target.mk
 
 # -----------------------------------------------------------------------------
index be37c93..ca32292 100644 (file)
 
 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