yep, mac needed the start-group stuff turned off.
[feisty_meow.git] / scripts / clam / cpp / rules.def
index d9e78e45e106c979e8d0a09ef40e98f3b7bb8f94..4bef18a37ed963c7c7a5bfb6ace3e2d448629600 100644 (file)
 # This section manipulates variable values to prepare them for their use
 # in the standard CLAM support.
 
-# Modify the output directory for executable files if we're building a
-# test project.
+# special actions for projects that are tests.
 ifneq "$(findstring test, $(TYPE))" ""
-###  EXECUTABLE_DIR = $(TARGETS_DIR)/tests/$(PROJECT)
+  # add the clean task at the end, so that we will always rebuild the tests
+  # and run them again.
+#hmmm: this is a kludge to make sure we always run the tests.  there has got
+#      to be a better way.
+  LAST_TARGETS += clean
 endif
 
 # see if they have got the clean flag set.  if so, we will not build anything.
@@ -222,6 +225,7 @@ ifeq "$(OP_SYSTEM)" "WIN32"
     LOCAL_HEADERS += $(THIRD_PARTY_DIR)/openssl/include
     LIBRARY_SEARCH_PATH += $(THIRD_PARTY_DIR)/openssl/lib
     LIBS_USED += libeay32.lib
+    $(shell cp $(THIRD_PARTY_DIR)/openssl/lib/*dll $(EXECUTABLE_DIR) )
   endif
   
 endif
@@ -280,9 +284,10 @@ COMPILER_FLAGS += $(HEADER_SEARCH_PATH:%=-I%) $(DEFINITIONS:%=-D%) $(UNDEFINITIO
 # to search and by adding all of the code libraries that are used.
 LOAD_FLAG_PREFIX += $(LIBRARY_SEARCH_PATH:%=$(LIBRARY_PATH_FLAG)%)
 ifeq "$(OP_SYSTEM)" "UNIX"
-#mac no like these flags?
-#  LOAD_FLAG_PREFIX += -Xlinker --start-group
-#  LOAD_FLAG_SUFFIX += -Xlinker --end-group
+  ifneq "$(COMPILER)" "GNU_DARWIN"
+    LOAD_FLAG_PREFIX += -Xlinker --start-group
+    LOAD_FLAG_SUFFIX += -Xlinker --end-group
+  endif
 endif
 # had to switch from prefix to suffix recently.  oddity.
 #LOAD_FLAG_PREFIX += $(LIBS_USED:%=$(LIBRARY_NAME_FLAG)%)
@@ -378,7 +383,7 @@ endif
 
 %.bad:
        @echo There is a problem with the makefile in the SOURCE variable.
-       @echo The offending item is $@.
+       @echo The offending item is: $@
        $(HIDESH)$(CLAM_DIR)/exit_make.sh
 
 ## faked debug object.
@@ -391,7 +396,7 @@ endif
 # recreate dependencies for static applications.
 %.gendeps: %.cpp
        @echo "Generating Static Deps: $*.cpp"
-       $(HIDESH)$(CLAM_DIR)/cpp/buildor_gen_deps.sh "$*.cpp"
+       $(CATCHER)$(CLAM_DIR)/cpp/buildor_gen_deps.sh "$*.cpp"
 
 ############################################################################
 
@@ -402,7 +407,7 @@ endif
 $(OBJECT_DIR)/%.obj: $(CURRENT_DIR)/%.cpp
 ifeq "$(NO_COMPILE)" ""
   ifneq "$(COMPILER)" "VISUAL_CPP"
-       @echo Compiling [$(shell basename $@)].
+       @echo Compiling [$(shell basename $@)]
        $(HIDESH)-c 'if [ ! -d $(@D) ]; then mkdir $(@D); fi'
        $(CATCHER)$(CC) $(COMPILER_FLAGS) -c $< $(OBJECT_NAME_FLAG)$@
   else
@@ -419,7 +424,7 @@ endif
 $(OBJECT_DIR)/%.obj: $(CURRENT_DIR)/%.c
 ifeq "$(NO_COMPILE)" ""
   ifneq "$(COMPILER)" "VISUAL_CPP"
-       @echo Compiling [$@].
+       @echo Compiling [$@]
        $(HIDESH)-c 'if [ ! -d $(@D) ]; then mkdir $(@D); fi'
        $(CATCHER)$(CC) $(COMPILER_FLAGS) -c $< $(OBJECT_NAME_FLAG)$@
   else
@@ -436,14 +441,14 @@ endif
 ifeq "$(OP_SYSTEM)" "WIN32"
 $(OBJECT_DIR)/%.res: %.rc $(PARAMETER_FILE)
   ifeq "$(NO_COMPILE)" ""
-       @echo Resource [$@].
+       @echo Resource [$@]
        $(HIDESH)-c 'if [ ! -d $(@D) ]; then mkdir $(@D); fi'
        $(CATCHER)$(RC) -r $(DEFINITIONS:%=-D%) $(HEADER_SEARCH_PATH:%=-i%) -fo $@ $<
   endif
 
 $(OBJECT_DIR)/%.resources: %.resx $(PARAMETER_FILE)
   ifeq "$(NO_COMPILE)" ""
-       @echo Resource [$@].
+       @echo Resource [$@]
        $(HIDESH)-c 'if [ ! -d $(@D) ]; then mkdir $(@D); fi'
        $(VCS_ROOT)/../SDK/v1.1/bin/resgen $< $@
   endif
@@ -451,7 +456,7 @@ else #non-win32
   # this platform probably does not use rc files.
 $(OBJECT_DIR)/%.res: %.rc
   ifeq "$(NO_COMPILE)" ""
-       @echo Bogus resource [$@].
+       @echo Bogus resource [$@]
        @echo >$@
   endif
 endif #win32
@@ -465,7 +470,7 @@ endif
 
 ifeq "$(NO_COMPILE)" ""
 $(STATIC_LIBRARY_DIR)/%.library: $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%) $(ACTUAL_LOCAL_LIBS:%=$(STATIC_LIBRARY_DIR)/$(LIB_PREFIX)%$(LIB_ENDING)) $(PARAMETER_FILE)
-       $(HIDER)echo Static [$@].
+       $(HIDER)echo Static [$@]
        @echo $@ >$(DIRTY_FILE)
   ifeq "$(COMPILER)" "VISUAL_CPP"
        $(HIDESH)-c 'if [ -f $(BUILD_LIST_FILE) ]; then $(SHELL) $(CLAM_DIR)/cpp/rebuild_oldies.sh $(MULTI_BUILD_CMD); fi'
@@ -498,7 +503,7 @@ ifeq "$(NO_COMPILE)" ""
 $(DYNAMIC_LIBRARY_DIR)/%.dll: $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%) $(ACTUAL_LOCAL_LIBS:%=$(STATIC_LIBRARY_DIR)/$(LIB_PREFIX)%$(LIB_ENDING)) $(ACTUAL_RESX) $(PARAMETER_FILE) 
 #hmmm: use the res objects variable to rebuild res files as needed.
 ###$(RES_OBJECTS) 
-       $(HIDER)echo Dynamic [$@].
+       $(HIDER)echo Dynamic [$@]
        @echo $@ >$(DIRTY_FILE)
   ifeq "$(COMPILER)" "VISUAL_CPP"
        $(HIDESH)-c 'if [ -f $(BUILD_LIST_FILE) ]; then $(SHELL) $(CLAM_DIR)/cpp/rebuild_oldies.sh $(MULTI_BUILD_CMD); fi'
@@ -523,7 +528,7 @@ endif
 ifeq "$(NO_COMPILE)" ""
 $(DYNAMIC_LIBRARY_DIR)/%.so: $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%) $(ACTUAL_LOCAL_LIBS:%=$(STATIC_LIBRARY_DIR)/$(LIB_PREFIX)%$(LIB_ENDING)) $(PARAMETER_FILE)
   ifeq "$(COMPILER:%_LINUX=LINUX)" "LINUX"
-       $(HIDER)echo Shared [$@].
+       $(HIDER)echo Shared [$@]
        @echo $@ >$(DIRTY_FILE)
        $(CATCHER)$(LINK_TOOL) $(LINKER_OUTPUT_FLAG)$@ $(LOAD_FLAG_PREFIX) -shared -Wl,-soname,$*.so $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%) $(ACTUAL_LOCAL_LIBS:%=$(LIBRARY_NAME_FLAG)%) $(LOAD_FLAG_SUFFIX) 
        $(HIDER)rm -f $(STATIC_LIBRARY_DIR)/$(LIB_PREFIX)$*$(LIB_ENDING)
@@ -542,7 +547,7 @@ $(EXECUTABLE_DIR)/%.exe:
 
   ifeq "$(NO_COMPILE)" ""
 $(EXECUTABLE_DIR)/%.exe: $(OBJECT_DIR)/%.obj $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%) $(ACTUAL_LOCAL_LIBS:%=$(STATIC_LIBRARY_DIR)/$(LIB_PREFIX)%$(LIB_ENDING)) $(ACTUAL_RESX) $(PARAMETER_FILE)
-       $(HIDER)echo Application [$@].
+       $(HIDER)echo Application [$@]
        @echo $@ >$(DIRTY_FILE)
     ifeq "$(COMPILER)" "VISUAL_CPP"
        $(HIDESH)-c 'if [ -f $(BUILD_LIST_FILE) ]; then $(SHELL) $(CLAM_DIR)/cpp/rebuild_oldies.sh $(MULTI_BUILD_CMD); fi'
@@ -568,7 +573,7 @@ $(EXECUTABLE_DIR)/%:
 
   ifeq "$(NO_COMPILE)" ""
 $(EXECUTABLE_DIR)/%: $(OBJECT_DIR)/%.obj $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%) $(ACTUAL_LOCAL_LIBS:%=$(STATIC_LIBRARY_DIR)/$(LIB_PREFIX)%$(LIB_ENDING)) $(PARAMETER_FILE)
-       $(HIDER)echo Application [$@].
+       $(HIDER)echo Application [$@]
        @echo $@ >$(DIRTY_FILE)
        $(CATCHER)$(LINK_TOOL) $(EXE_FLAGS) $(LOAD_FLAG_PREFIX) $< $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%) $(ACTUAL_LOCAL_LIBS:%=$(LIBRARY_NAME_FLAG)%) $(LOAD_FLAG_SUFFIX) $(LINKER_OUTPUT_FLAG)$@
 #hmmm: experimental item below.
@@ -586,13 +591,13 @@ endif
 
 ifeq "$(NO_COMPILE)" ""
 $(EXECUTABLE_DIR)/%.elf: $(OBJECT_DIR)/%.obj $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%) $(ACTUAL_LOCAL_LIBS:%=$(STATIC_LIBRARY_DIR)/$(LIB_PREFIX)%$(LIB_ENDING)) $(PARAMETER_FILE)
-       $(HIDER)echo Application [$@].
+       $(HIDER)echo Application [$@]
        @echo $@ >$(DIRTY_FILE)
        $(CATCHER)$(LINK_TOOL) $(MAP) $(LOAD_FLAG_PREFIX) $< $(LINKER_COMMAND_FILE) $(STARTUP_OBJECT_FILE) $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%) $(ACTUAL_LOCAL_LIBS:%=$(LIBRARY_NAME_FLAG)%) $(LOAD_FLAG_SUFFIX) $(LINKER_OUTPUT_FLAG)$@
 #$(^:force_rebuild=) 
-       @echo Hex [$(EXECUTABLE_DIR)/$*.out].
+       @echo Hex [$(EXECUTABLE_DIR)/$*.out]
        $(CATCHER)$(DDUMP_TOOL) $(DDUMP_OPTIONS) $@ -o$(EXECUTABLE_DIR)/$*.out
-       @echo Binary [$(EXECUTABLE_DIR)/$*.bin].
+       @echo Binary [$(EXECUTABLE_DIR)/$*.bin]
        $(CATCHER)$(DDUMP_TOOL) $(DDUMP_BIN_OPTIONS) $@ -o$(EXECUTABLE_DIR)/$*.bin
 endif #no_compile
 
@@ -686,7 +691,7 @@ else
         $(DEPS_FILE): $(VERSION_RC_ROOT)_version.rc
       endif
     endif
-       @echo Dependencies [$(shell basename $@)].
+       @echo Dependencies [$(shell basename $@)]
        -$(HIDESH)$(CLAM_DIR)/cpp/preconditions.sh
        @touch $@
 #      @echo dep adds: $(DEPENDENCY_ADDITIONS)