fix major hoseage in building
authorChris Koeritz <fred@gruntose.com>
Mon, 3 Oct 2016 22:36:05 +0000 (18:36 -0400)
committerChris Koeritz <fred@gruntose.com>
Mon, 3 Oct 2016 22:36:05 +0000 (18:36 -0400)
a bit premature check-in last time, since nothing was building with that version.

scripts/clam/cpp/rules.def
scripts/clam/cpp/variables.def
scripts/clam/rules.def

index ba51dabb83e9e12f3edbb15d3943b12335e5ff2f..e0b723156de1f9dc31df9322ed31347467436e0b 100644 (file)
@@ -398,11 +398,12 @@ ACTUAL_LAST_TARGETS = post_compilation $(LAST_TARGETS)
 
 ############################################################################
 
+ifneq "$(CLEAN)" ""
 # Add the obligatory junk to be cleaned up.
 set_cleanups_variable:
-       echo hey we are in the set cleanups variable and pwd is: $(shell pwd)
        $(eval CLEANUPS += $(ACTUAL_TARGETS) $(ACTUAL_TARGETS:%.exe=%) )
-       echo "yoyo, cleanups variable is now: $(CLEANUPS)"
+#      echo "new CLEANUPS variable: $(CLEANUPS)"
+endif
 
 ############################################################################
 
index 6bbd346a4b9e8d94519dd6136df90408e0bf9534..8643b27b38cf03d97bade6f645dfc84c35cbe639 100644 (file)
@@ -119,7 +119,7 @@ endif
 
 # Add an early target to set the cleanups variable based on the variables
 # that have been filled in by the user makefile.
-FIRST_TARGETS += set_cleanups_variable
+###no FIRST_TARGETS += set_cleanups_variable
 
 # GLOBAL_PRODUCT_NAME is an important variable for tagging the entire code base
 # with some branding.  It is provided as a macro definition to all source
index 032dd6d3cf09c2fbcb71af2fe1819fdd673cd694..367f8f190e9d63d2cc0c8d4dbe9180571c6af176 100644 (file)
@@ -45,7 +45,7 @@ if [ -d $* ]; then \
   if [ -f "$*/$(MAKEFILE_NAME)" ]; then \
     $(MAKE) --silent -f "$(MAKEFILE_NAME)" NOT_FIRST_MAKE=t -C "$*"; \
   else \
-    echo "Asked to build directory [$*] but there was no makefile."; \
+    echo "($@ skipping directory $*)"; \
   fi \
 else \
   echo Skipping missing directory [$*]; \
@@ -98,27 +98,30 @@ make_subdirs:
 # files and such that were created by the project.  it invokes the makefile
 # again with the CLEAN variable defined so that this can be passed down into
 # all subsequent makes.
-clean: set_cleaner_variable $(OTHER_CLEANS) scratch_other_cleans clean_subdirs  ready_to_clean
+clean: establish_cleanup_variable $(OTHER_CLEANS) scratch_other_cleans clean_subdirs  ready_to_clean
        @# no code here.
 
-set_cleaner_variable:
+establish_cleanup_variable:
        $(eval CLEAN := true)
 
 scratch_other_cleans:
        $(eval OTHER_CLEANS := )
 
+# guard the main cleaning task with our variable
+# so we do not pull in subtargets when we do not want to.
+ifneq "$(CLEAN)" ""
 ready_to_clean: $(OTHER_CLEANING_TASKS)
-       echo hey the other clean should have happened above.
        @echo Whacking [$(CLEANUPS)]
-#      @echo could also be cleaning the first and last targets...
-#      @echo FIRST_TARGETS=$(FIRST_TARGETS)
-#      @echo LAST_TARGETS=$(LAST_TARGETS)
        $(HIDESH) -c '\
 if [ ! -z "$(CLEANUPS)" ]; then \
   for spork19 in $(CLEANUPS) nonexistentishfileforlist; do \
     rm -rf "$$spork19"; \
   done \
 fi'
+else
+ready_to_clean: 
+       @# do nothing.
+endif
 
 # "clean_subdirs" travels down each subdirectory and cleans using make.
 clean_subdirs: