# 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
ifneq "$(USE_CURL)" ""
COMPILER_FLAGS += `curl-config --cflags`
- LOAD_FLAG_SUFFIX += `curl-config --static-libs`
+ LOAD_FLAG_SUFFIX += `curl-config --libs`
endif
endif
# 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)%)
%.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.
# 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"
############################################################################
$(OBJECT_DIR)/%.obj: $(CURRENT_DIR)/%.cpp
ifeq "$(NO_COMPILE)" ""
ifneq "$(COMPILER)" "VISUAL_CPP"
- @echo Compiling [$(shell basename $@)].
+ @echo Building [$(shell basename $@)]
$(HIDESH)-c 'if [ ! -d $(@D) ]; then mkdir $(@D); fi'
$(CATCHER)$(CC) $(COMPILER_FLAGS) -c $< $(OBJECT_NAME_FLAG)$@
else
$(OBJECT_DIR)/%.obj: $(CURRENT_DIR)/%.c
ifeq "$(NO_COMPILE)" ""
ifneq "$(COMPILER)" "VISUAL_CPP"
- @echo Compiling [$@].
+ @echo Building [$@]
$(HIDESH)-c 'if [ ! -d $(@D) ]; then mkdir $(@D); fi'
$(CATCHER)$(CC) $(COMPILER_FLAGS) -c $< $(OBJECT_NAME_FLAG)$@
else
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
# 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
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'
$(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'
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
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)
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'
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.
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
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
$(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)
- @echo clam bin here is $(CLAM_BIN)
- @$(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.