Return to objects-unix.mak CVS log | Up to [Pegasus] / pegasus / mak |
File: [Pegasus] / pegasus / mak / objects-unix.mak
(download)
Revision: 1.11.2.1, Wed Feb 16 22:12:42 2005 UTC (19 years, 4 months ago) by w.otsuka Branch: RELEASE_2_4-branch CVS Tags: RELEASE_2_4_3, RELEASE_2_4_2, RELEASE_2_4_1-BETA3, RELEASE_2_4_1-BETA2, RELEASE_2_4_1, IBM_241_April1405 Changes since 1.11: +4 -4 lines BUG#: 2686 TITLE: Add External Compile Flags DESCRIPTION: This is a port of Bug 2591 from 2.5 to the 2.4 branch. This fix is only being applied to Linux platforms in 2.4. |
################################################################################ ## ## 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 ## current one (using the -o option). To overcome this bug, we use -o.tmp.o ## and then move the file to the object directory. Note, this is only done for ## v2.9.5 of g++. ## ################################################################################ ifeq ($(findstring _GNU, $(PEGASUS_PLATFORM)), _GNU) GCC_VERSION=$(word 3, $(shell $(CXX) --version)) ifneq ($(GCC_VERSION), 2.9.5) _NO_TMP_O=yes endif else _NO_TMP_O=yes endif _TMP_O = $(PEGASUS_PLATFORM).o ifeq ($(_NO_TMP_O), yes) $(OBJ_DIR)/%.o: %.cpp $(ERROR) $(CXX) -c -o $@ $(FLAGS) $(EXTRA_CXX_FLAGS) $(LOCAL_DEFINES) $(DEFINES) $(SYS_INCLUDES) $(INCLUDES) $*.cpp @ $(TOUCH) $@ @ $(ECHO) else $(OBJ_DIR)/%.o: %.cpp $(ERROR) $(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) $@ @ $(RM) $(_TMP_O) @ $(TOUCH) $@ @ $(ECHO) endif
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |