(file) Return to objects-unix.mak CVS log (file) (dir) Up to [Pegasus] / pegasus / mak

Diff for /pegasus/mak/objects-unix.mak between version 1.1 and 1.11.2.1

version 1.1, 2001/02/11 05:47:42 version 1.11.2.1, 2005/02/16 22:12:42
Line 1 
Line 1 
 ################################################################################ ################################################################################
 ## ##
 ## 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++.
 ## ##
 ################################################################################ ################################################################################
  
 _TMP_O = .tmp.o  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) $(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) $@          @ $(COPY) $(_TMP_O) $@
         $(RM) $(_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)         @ $(ECHO)
   endif


Legend:
Removed from v.1.1  
changed lines
  Added in v.1.11.2.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2