checking in the recent efforts at optimizing clam
[feisty_meow.git] / scripts / clam / rules.def
index 8d41bf95f75263548c04ddb4a6ff7f3423d14d66..abd5983dac3af0a7799995ee1edf8309f20c9d08 100644 (file)
@@ -3,9 +3,9 @@
 ###############################################################################
 
 #  This file contains composite macros and rules for creating objects.
-#  This file should be included in the user's makefile after the variables
+#  This file should be included in the user makefile after the variables
 #  have been initialized appropriately for the particular project being
-#  created.  The user's own targets should be placed after the include
+#  created.  The user targets should be placed after the include
 #  directive that specifies this file.
 
 ###############################################################################
@@ -19,18 +19,18 @@ ifneq "$(BUILD_AFTER)" ""
   LAST_TARGETS += $(BUILD_AFTER:%=%.make)
 endif
 
-# Make the default action be an error stop if we can't find an appropriate rule.
+# Make the default action be an error stop if we ca not find an appropriate rule.
 .DEFAULT:
        $(HIDER)echo
        $(HIDER)echo [$@] is missing files or has a makefile problem.
        $(HIDER)echo
-       $(HIDESH)$(CLAM_DIR)/exit_make.sh
+       $(HIDESH)$(CLAM_SCRIPTS)/exit_make.sh
 
 # This rule halts make for some supposedly devastating reason.  More
 # information should be printed out by the cause of the halt.
 %.halt:
        @echo CLAM execution halted, the cause being: $@
-       $(HIDESH)$(CLAM_DIR)/exit_make.sh
+       $(HIDESH)$(CLAM_SCRIPTS)/exit_make.sh
 
 # Provides a time-stamp in the make log.
 show_date.%:
@@ -66,7 +66,7 @@ if [ ! -d "$(CLAM_TMP)" ]; then \
   mkdir "$(CLAM_TMP)"; \
 fi'
 ifeq "$(QUIET)" ""
-       $(HIDER)echo Project $(PROJECT) [$(shell basename $(shell dirname $(shell pwd) ) )/$(shell basename $(shell pwd) )] v. $(major).$(minor).$(revision).$(build)
+       $(HIDER)echo Project $(PROJECT) [$(shell echo $(CURRENT_DIR) | sed -e 's/.*\/\([^\/]*\)\/\([^\/]*\)/\1\/\2/')] v. $(major).$(minor).$(revision).$(build)
 endif
        $(HIDER)rm -f $(FLAG_FILES)
 
@@ -88,11 +88,11 @@ endif
 
 # runs the programs specified in the RUN_TARGETS variable.
 run_targets:
-       $(HIDESH)"$(CLAM_DIR)/target_runner.sh"
+       $(HIDESH)"$(CLAM_SCRIPTS)/target_runner.sh"
 
 # "make_subdirs" travels down each subdirectory and builds using make.
 make_subdirs:
-       $(HIDESH)$(CLAM_DIR)/make_subdirs.sh
+       $(HIDESH)$(CLAM_SCRIPTS)/make_subdirs.sh
 
 # "clean" is a default target that removes object files, libs, executable
 # files and such that were created by the project.  it invokes the makefile
@@ -108,18 +108,19 @@ scratch_other_cleans:
        $(eval OTHER_CLEANS := )
 
 # add late breaking items to the cleanup list.  this is mainly the actual
-# targets to build , since those are not specified until the user makefile
-# is included.  we take a liberty here and also add non ".exe" versions in
-# case we are running on linux.
-add_to_cleanups_variable:
-       echo going to add to cleanup variable now.
-       $(eval CLEANUPS = $(CLEANUPS) $(ACTUAL_TARGETS) $(ACTUAL_TARGETS:%.exe=%) )
-       echo "new CLEANUPS variable: $(CLEANUPS)"
-
-# guard the main cleaning task with our variable
-# so we do not pull in subtargets when we do not want to.
+# targets to build, since those are not specified until the user makefile
+# is included.  we take a liberty here and also add different versions of
+# the file suffixes so we can clean all versions of the targets.
+add_to_cleanups_variable: $(SUPPLEMENTAL_CLEANUP_TARGETS)
+       $(eval CLEANUPS = $(ACTUAL_TARGETS) $(CLEANUPS) )
+#      $(eval CLEANUPS = $(ACTUAL_TARGETS) $(ACTUAL_TARGETS:%.exe=%) $(ACTUAL_TARGETS:%.dll=%.so) $(ACTUAL_TARGETS:%.so=%.dll) $(CLEANUPS) )
+#      echo "new CLEANUPS variable: $(CLEANUPS)"
+
+# main cleaning task.
 ready_to_clean:
-       @echo Whacking [$(CLEANUPS)]
+ifneq "$(CLEANUPS)" ""
+       @echo Whacking [$(notdir $(CLEANUPS))]
+endif
        $(HIDESH) -c '\
 if [ ! -z "$(CLEANUPS)" ]; then \
   for spork19 in $(CLEANUPS) nonexistentishfileforlist; do \
@@ -131,7 +132,7 @@ fi'
 
 # "clean_subdirs" travels down each subdirectory and cleans using make.
 clean_subdirs:
-       $(HIDESH)$(CLAM_DIR)/clean_subdirs.sh
+       $(HIDESH)$(CLAM_SCRIPTS)/clean_subdirs.sh
 
 # "rm_links" removes the files in the current directory that are links
 # to other files.  this is only useful in a unix environment.