minor updates for naming.
[feisty_meow.git] / scripts / clam / cpp / rules.def
index 02d3010c94e1a55b4dba513410efaf77639aeb4c..ad4c4a2fb8e0c212742bfe1513c5b3aff7c82263 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.
-ifneq "$(findstring test, $(TYPE))" ""
-###  EXECUTABLE_DIR = $(TARGETS_DIR)/tests/$(PROJECT)
-endif
-
 # see if they have got the clean flag set.  if so, we will not build anything.
 ifneq "$(CLEAN)" ""
   NO_COMPILE = t
@@ -33,15 +27,46 @@ endif
 # implement special bits for gnu on unix.
 ifeq "$(COMPILER)" "GNU_LINUX"
   ifneq "$(USE_XWIN)" ""
-    ifneq "$(OP_SYSTEM)" "WIN32"
-      DEFINITIONS += __XWINDOWS__ __X__
-      LIBS_USED += Xm Xt X11 Xft Xp 
+    DEFINITIONS += __XWINDOWS__ __X__
+    LIBS_USED += Xm Xt X11 Xft Xp 
 #need to separate out with a USE_MOTIF kind of thing.
 LIBS_USED += Xmu
-      HEADER_SEARCH_PATH += /usr/include/X11 /usr/X11R6/include /usr/include/g++
-      LIBRARY_SEARCH_PATH += /usr/X11R6/lib 
+    HEADER_SEARCH_PATH += /usr/include/X11 /usr/X11R6/include /usr/include/g++
+    LIBRARY_SEARCH_PATH += /usr/X11R6/lib 
+  endif
+
+  ifneq "$(USE_SSL)" ""
+    LIBS_USED += ssl crypto
+  endif
+  
+  ifneq "$(USE_WXWIDGETS)" ""
+    DEFINITIONS += __WXWIDGETS__ 
+    use_unicode =
+    ifneq "$(findstring UNICODE, $(DEFINITIONS))" ""
+      use_unicode = true
+    endif
+
+    # decide whether to turn on the unicode flag or not.
+    ifneq "$(use_unicode)" ""
+      DEFINITIONS += wxUSE_UNICODE
+      UNICODE_FLAG_ADD = --unicode=yes
+    else
+      UNICODE_FLAG_ADD = --unicode=no
     endif
+    # could add for debugging: --debug=yes 
+    COMPILER_FLAGS += $(shell wx-config --cxxflags $(UNICODE_FLAG_ADD) )
+
+    LOAD_FLAG_PREFIX += $(shell wx-config --libs $(UNICODE_FLAG_ADD) )
+  endif
+
+  ifneq "$(USE_CURL)" ""
+    COMPILER_FLAGS += `curl-config --cflags`
+    LOAD_FLAG_SUFFIX += `curl-config --libs`
   endif
+endif
+
+# some special code for gnu compiler on windows.
+ifeq "$(COMPILER)" "GNU_WINDOWS"
 
   ifneq "$(USE_SSL)" ""
     LIBS_USED += ssl crypto
@@ -51,9 +76,7 @@ LIBS_USED += Xmu
     DEFINITIONS += __WXWIDGETS__ 
     use_unicode =
     ifneq "$(findstring UNICODE, $(DEFINITIONS))" ""
-#      ifeq "$(OP_SYSTEM)" "WIN32"
-        use_unicode = true
-#      endif
+      use_unicode = true
     endif
 
     # decide whether to turn on the unicode flag or not.
@@ -71,7 +94,7 @@ LIBS_USED += Xmu
 
   ifneq "$(USE_CURL)" ""
     COMPILER_FLAGS += `curl-config --cflags`
-    LOAD_FLAG_SUFFIX += `curl-config --static-libs`
+    LOAD_FLAG_SUFFIX += `curl-config --libs`
   endif
 
 endif
@@ -97,9 +120,7 @@ ifeq "$(COMPILER)" "GNU_DARWIN"
     DEFINITIONS += __WXWIDGETS__ 
     use_unicode =
     ifneq "$(findstring UNICODE, $(DEFINITIONS))" ""
-#      ifeq "$(OP_SYSTEM)" "WIN32"
         use_unicode = true
-#      endif
     endif
 
     # decide whether to turn on the unicode flag or not.
@@ -143,6 +164,7 @@ endif
 
 # win32 compiler additions.
 ifeq "$(OP_SYSTEM)" "WIN32"
+#ifeq "$(COMPILER)" "VISUAL_CPP"
   # processes the def file for linkage, if one has been specified.
   ifneq "$(DEF_FILE)" ""
     LOAD_FLAG_PREFIX += -def:$(DEF_FILE)
@@ -185,12 +207,11 @@ ifeq "$(OP_SYSTEM)" "WIN32"
   endif
 
   ifneq "$(USE_CURL)" ""
+    # curl wants this win32 flag?
     DEFINITIONS += _WIN32
     LOCAL_HEADERS += $(THIRD_PARTY_DIR)/curl/include
     LIBRARY_SEARCH_PATH += $(THIRD_PARTY_DIR)/curl/lib
-#    ifeq "$(findstring libcurl, $(LIBS_USED))" ""
-      LIBS_USED += libcurl.dll.a
-#    endif
+    LIBS_USED += libcurl.dll.a
   endif
 
   ifneq "$(VCPP_USE_GUI)" ""
@@ -221,7 +242,8 @@ ifeq "$(OP_SYSTEM)" "WIN32"
   ifneq "$(USE_SSL)" ""
     LOCAL_HEADERS += $(THIRD_PARTY_DIR)/openssl/include
     LIBRARY_SEARCH_PATH += $(THIRD_PARTY_DIR)/openssl/lib
-    LIBS_USED += libeay32.lib
+    LIBS_USED += libcrypto.lib libssl.lib
+#    LIBS_USED += libeay32.lib
     $(shell cp $(THIRD_PARTY_DIR)/openssl/lib/*dll $(EXECUTABLE_DIR) )
   endif
   
@@ -250,7 +272,11 @@ ifeq "$(OP_SYSTEM)" "WIN32"
   else
     TEMP_OBJ3a = $(TEMP_OBJ2)
   endif
-  TEMP_OBJ3 = $(TEMP_OBJ3a:%.rc=%.res)
+  ifeq "$(COMPILER)" "VISUAL_CPP"
+    TEMP_OBJ3 = $(TEMP_OBJ3a:%.rc=%.res)
+  else
+    TEMP_OBJ3 = $(TEMP_OBJ3a)
+  endif
 else
   # replace this when supporting resource files on unix.
   TEMP_OBJ3 = $(TEMP_OBJ2:%.rc=)
@@ -281,9 +307,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)%)
@@ -334,12 +361,12 @@ ACTUAL_FIRST_TARGETS = check_requirements $(EXTRA_FIRST_TARGETS) $(VERSION_TARGE
 
 # Adds the primary targets to the list of products to create.
 ifeq "$(NO_COMPILE)" ""
-  ifeq "$(OP_SYSTEM)" "UNIX"
+  ifneq "$(COMPILER)" "VISUAL_CPP"
     ACTUAL_TARGETS1 = $(TARGETS:%.exe=$(EXECUTABLE_DIR)/%)
   else
     ACTUAL_TARGETS1 = $(TARGETS:%.exe=$(EXECUTABLE_DIR)/%.exe)
   endif
-  ifeq "$(OP_SYSTEM)" "UNIX"
+  ifneq "$(COMPILER)" "VISUAL_CPP"
     ACTUAL_TARGETS2 = $(ACTUAL_TARGETS1:%.dll=%.so)
     ACTUAL_TARGETS3 = $(ACTUAL_TARGETS2:%.so=$(DYNAMIC_LIBRARY_DIR)/%$(TRIPART_VERSION).so)
   else
@@ -379,7 +406,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.
@@ -392,7 +419,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"
 
 ############################################################################
 
@@ -403,7 +430,7 @@ endif
 $(OBJECT_DIR)/%.obj: $(CURRENT_DIR)/%.cpp
 ifeq "$(NO_COMPILE)" ""
   ifneq "$(COMPILER)" "VISUAL_CPP"
-       @echo Compiling [$(shell basename $@)].
+       @echo Compiling Object [$(notdir $@)]
        $(HIDESH)-c 'if [ ! -d $(@D) ]; then mkdir $(@D); fi'
        $(CATCHER)$(CC) $(COMPILER_FLAGS) -c $< $(OBJECT_NAME_FLAG)$@
   else
@@ -420,7 +447,7 @@ endif
 $(OBJECT_DIR)/%.obj: $(CURRENT_DIR)/%.c
 ifeq "$(NO_COMPILE)" ""
   ifneq "$(COMPILER)" "VISUAL_CPP"
-       @echo Compiling [$@].
+       @echo Compiling Object [$(notdir $@)]
        $(HIDESH)-c 'if [ ! -d $(@D) ]; then mkdir $(@D); fi'
        $(CATCHER)$(CC) $(COMPILER_FLAGS) -c $< $(OBJECT_NAME_FLAG)$@
   else
@@ -437,14 +464,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
@@ -452,7 +479,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
@@ -466,7 +493,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 Building Static Library [$(notdir $@)]
        @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'
@@ -499,13 +526,15 @@ 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 Building Dynamic Library [$(notdir $@)]
        @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'
   endif
        $(HIDER)rm -f $(@:%.dll=%.lib)
+       echo about to run link tool.
        $(CATCHER)$(LINK_TOOL) $(LINKER_OUTPUT_FLAG)$@ -dll $(LOAD_FLAG_PREFIX) $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%) $(ACTUAL_RESX_FLAGS) $(ACTUAL_LOCAL_LIBS:%=$(LIBRARY_NAME_FLAG)$(LIB_PREFIX)%$(LIB_ENDING)) $(LOAD_FLAG_SUFFIX)
+       echo ran link tool.
   ifeq "$(COMPILER_VERSION)" "8"
        $(HIDESH)$(CLAM_DIR)/cpp/ms_manifest.sh "$@" "2"
   endif
@@ -524,7 +553,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)
@@ -536,14 +565,14 @@ endif #no_compile
 
 # creates "exe" executables using all of the appropriate objects.
 
-ifeq "$(OP_SYSTEM)" "WIN32"
+ifeq "$(COMPILER)" "VISUAL_CPP"
   ifneq "$(NO_COMPILE)" ""
 $(EXECUTABLE_DIR)/%.exe:
   endif
 
   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 Building Application [$(notdir $@)]
        @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'
@@ -560,16 +589,16 @@ $(EXECUTABLE_DIR)/%.exe: $(OBJECT_DIR)/%.obj $(ACTUAL_OBJECTS:%=$(OBJECT_DIR)/%)
        $(HIDER)ReplaceVistaIcon "$@" "$(VCPP_VISTA_ICON)"
     endif
   endif #no_compile
-endif #win32
+endif #visual studio
 
-ifeq "$(OP_SYSTEM)" "UNIX"
+ifneq "$(COMPILER)" "VISUAL_CPP"
   ifneq "$(NO_COMPILE)" ""
 $(EXECUTABLE_DIR)/%:
   endif
 
   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 Building Application [$(notdir $@)]
        @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.
@@ -587,13 +616,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 Building Application [$(notdir $@)]
        @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
 
@@ -605,7 +634,7 @@ ifeq "$(OMIT_VERSIONS)" ""
   ifneq "$(VERSION_RC_ROOT)" ""
 # only redo the version resource if it or version.ini is out of date.
 %_version.rc: version.ini $(PARAMETER_FILE)
-       $(CATCHER)$(CLAM_BIN)/version_stamper$(EXE_END) . $(PARAMETER_FILE)
+       $(CATCHER)$(CLAM_BINARY_DIR)/version_stamper$(EXE_END) . $(PARAMETER_FILE)
   endif
 endif
 
@@ -687,12 +716,12 @@ else
         $(DEPS_FILE): $(VERSION_RC_ROOT)_version.rc
       endif
     endif
-       @echo Dependencies [$(shell basename $@)].
+       @echo Dependencies [$(notdir $@)]
        -$(HIDESH)$(CLAM_DIR)/cpp/preconditions.sh
        @touch $@
 #      @echo dep adds: $(DEPENDENCY_ADDITIONS)
-       @$(CLAM_BIN)/makedep$(EXE_END) $(DEPENDENCY_DEFINITIONS:%=-D%) $(DEPENDENCY_ADDITIONS) -f$@ -o.obj -p$(OBJECT_DIR)/ -w 420 $(COMPILER_HEADER_DIR:%=-X%) $(THIRD_PARTY_DIR:%=-X%) -- $(COMPILER_FLAGS) $(SOURCE) $(EXE_CPPS)
-#      $(CATCHER)$(CLAM_BIN)/makedep$(EXE_END) $(DEPENDENCY_DEFINITIONS:%=-D%) $(DEPENDENCY_ADDITIONS) -f$@ -o.obj -p$(OBJECT_DIR)/ -w 420 $(COMPILER_HEADER_DIR:%=-X%) $(THIRD_PARTY_DIR:%=-X%) -- $(COMPILER_FLAGS) $(SOURCE) $(EXE_CPPS)
+       @$(CLAM_BINARY_DIR)/makedep$(EXE_END) $(DEPENDENCY_DEFINITIONS:%=-D%) $(DEPENDENCY_ADDITIONS) -f$@ -o.obj -p$(OBJECT_DIR)/ -w 420 $(COMPILER_HEADER_DIR:%=-X%) $(THIRD_PARTY_DIR:%=-X%) -- $(COMPILER_FLAGS) $(SOURCE) $(EXE_CPPS)
+#      $(CATCHER)$(CLAM_BINARY_DIR)/makedep$(EXE_END) $(DEPENDENCY_DEFINITIONS:%=-D%) $(DEPENDENCY_ADDITIONS) -f$@ -o.obj -p$(OBJECT_DIR)/ -w 420 $(COMPILER_HEADER_DIR:%=-X%) $(THIRD_PARTY_DIR:%=-X%) -- $(COMPILER_FLAGS) $(SOURCE) $(EXE_CPPS)
        @echo $@ >$(SUBMAKE_FLAG)
   endif # non-compile.
 endif # no-deps.