version 1.7, 2002/08/27 18:06:46
|
version 1.11.2.1, 2005/02/16 22:12:42
|
|
|
################################################################################ | ################################################################################ |
## | ## |
## An ugly trick is used here to overcome a bug in g++ 2.9.5. G++ failes to |
## An ugly trick is used here to overcome a bug in g++ v2.9.5. G++ fails to |
## cleanup object files that are placed in directories other than the | ## cleanup object files that are placed in directories other than the |
## current one (using the -o option). To overcome this bug, we use -o.tmp.o | ## current one (using the -o option). To overcome this bug, we use -o.tmp.o |
## and then move the file to the object directory. |
## and then move the file to the object directory. Note, this is only done for |
|
## v2.9.5 of g++. |
## | ## |
################################################################################ | ################################################################################ |
| |
ifeq ($(PEGASUS_PLATFORM),HPUX_PARISC_ACC) |
ifeq ($(findstring _GNU, $(PEGASUS_PLATFORM)), _GNU) |
|
GCC_VERSION=$(word 3, $(shell $(CXX) --version)) |
|
ifneq ($(GCC_VERSION), 2.9.5) |
_NO_TMP_O = yes | _NO_TMP_O = yes |
endif | endif |
|
else |
ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX) |
|
_NO_TMP_O = yes | _NO_TMP_O = yes |
endif | endif |
| |
_TMP_O = $(PEGASUS_PLATFORM).o | _TMP_O = $(PEGASUS_PLATFORM).o |
| |
|
|
ifeq ($(_NO_TMP_O), yes) | ifeq ($(_NO_TMP_O), yes) |
$(OBJ_DIR)/%.o: %.cpp $(ERROR) | $(OBJ_DIR)/%.o: %.cpp $(ERROR) |
$(CXX) -c -o $@ $(FLAGS) $(LOCAL_DEFINES) $(DEFINES) $(SYS_INCLUDES) $(INCLUDES) $*.cpp |
$(CXX) -c -o $@ $(FLAGS) $(EXTRA_CXX_FLAGS) $(LOCAL_DEFINES) $(DEFINES) $(SYS_INCLUDES) $(INCLUDES) $*.cpp |
@ $(TOUCH) $@ | @ $(TOUCH) $@ |
@ $(ECHO) | @ $(ECHO) |
else | else |
$(OBJ_DIR)/%.o: %.cpp $(ERROR) | $(OBJ_DIR)/%.o: %.cpp $(ERROR) |
$(CXX) -c -o $(_TMP_O) $(FLAGS) $(LOCAL_DEFINES) $(DEFINES) $(SYS_INCLUDES) $(INCLUDES) $*.cpp |
$(CXX) -c -o $(_TMP_O) $(FLAGS) $(EXTRA_CXX_FLAGS) $(LOCAL_DEFINES) $(DEFINES) $(SYS_INCLUDES) $(INCLUDES) $*.cpp |
|
@ $(COPY) $(_TMP_O) $@ |
|
@ $(RM) $(_TMP_O) |
|
@ $(TOUCH) $@ |
|
@ $(ECHO) |
|
endif |
|
|
|
ifeq ($(_NO_TMP_O), yes) |
|
$(OBJ_DIR)/%.o: %.c $(ERROR) |
|
$(CC) -c -o $@ $(FLAGS) $(EXTRA_C_FLAGS) $(LOCAL_DEFINES) $(DEFINES) $(SYS_INCLUDES) $(INCLUDES) $*.c |
|
@ $(TOUCH) $@ |
|
@ $(ECHO) |
|
else |
|
$(OBJ_DIR)/%.o: %.c $(ERROR) |
|
$(CC) -c -o $(_TMP_O) $(FLAGS) $(EXTRA_C_FLAGS) $(LOCAL_DEFINES) $(DEFINES) $(SYS_INCLUDES) $(INCLUDES) $*.c |
@ $(COPY) $(_TMP_O) $@ | @ $(COPY) $(_TMP_O) $@ |
@ $(RM) $(_TMP_O) | @ $(RM) $(_TMP_O) |
@ $(TOUCH) $@ | @ $(TOUCH) $@ |