mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
Allow to have both file.c and file.m in the same project
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@26798 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
fcece14876
commit
e4da3e0371
3 changed files with 32 additions and 21 deletions
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2008-07-22 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
Keep better track of the original source file used to compile each
|
||||
object file, so that you can have both file.c and file.m in the
|
||||
same project (suggestion by David Chisnall <theraven@sucs.org>).
|
||||
* rules.make: Changed rules so that they dictate how to create
|
||||
for example %.m.o from %.m instead of just %.o from %.m.
|
||||
* Instance/rules.make: Changed all xxx_OBJS variables so that they
|
||||
retain the original extension; for example, OBJC_OBJS now contains
|
||||
%.m.o instead of just %.o.
|
||||
|
||||
2008-07-21 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
Fixed bug reported by Marko Riedel <markoriedelde@yahoo.de> where
|
||||
|
|
|
@ -194,10 +194,10 @@ SUBPROJECT_OBJ_FILES = $(foreach d, $($(GNUSTEP_INSTANCE)_SUBPROJECTS), \
|
|||
$(addprefix $(GNUSTEP_BUILD_DIR)/$(d)/, $(GNUSTEP_OBJ_DIR_NAME)/$(SUBPROJECT_PRODUCT)))
|
||||
endif
|
||||
|
||||
OBJC_OBJS = $(patsubst %.m,%$(OEXT),$($(GNUSTEP_INSTANCE)_OBJC_FILES))
|
||||
OBJC_OBJS = $(patsubst %.m,%.m$(OEXT),$($(GNUSTEP_INSTANCE)_OBJC_FILES))
|
||||
OBJC_OBJ_FILES = $(addprefix $(GNUSTEP_OBJ_DIR)/,$(OBJC_OBJS))
|
||||
|
||||
OBJCC_OBJS = $(patsubst %.mm,%$(OEXT),$($(GNUSTEP_INSTANCE)_OBJCC_FILES))
|
||||
OBJCC_OBJS = $(patsubst %.mm,%.mm$(OEXT),$($(GNUSTEP_INSTANCE)_OBJCC_FILES))
|
||||
OBJCC_OBJ_FILES = $(addprefix $(GNUSTEP_OBJ_DIR)/,$(OBJCC_OBJS))
|
||||
|
||||
JAVA_OBJS = $(patsubst %.java,%.class,$($(GNUSTEP_INSTANCE)_JAVA_FILES))
|
||||
|
@ -208,26 +208,26 @@ JAVA_JNI_OBJ_FILES = $(JAVA_JNI_OBJS)
|
|||
|
||||
PSWRAP_C_FILES = $(patsubst %.psw,%.c,$($(GNUSTEP_INSTANCE)_PSWRAP_FILES))
|
||||
PSWRAP_H_FILES = $(patsubst %.psw,%.h,$($(GNUSTEP_INSTANCE)_PSWRAP_FILES))
|
||||
PSWRAP_OBJS = $(patsubst %.psw,%$(OEXT),$($(GNUSTEP_INSTANCE)_PSWRAP_FILES))
|
||||
PSWRAP_OBJS = $(patsubst %.psw,%.c$(OEXT),$($(GNUSTEP_INSTANCE)_PSWRAP_FILES))
|
||||
PSWRAP_OBJ_FILES = $(addprefix $(GNUSTEP_OBJ_DIR)/,$(PSWRAP_OBJS))
|
||||
|
||||
C_OBJS = $(patsubst %.c,%$(OEXT),$($(GNUSTEP_INSTANCE)_C_FILES))
|
||||
C_OBJS = $(patsubst %.c,%.c$(OEXT),$($(GNUSTEP_INSTANCE)_C_FILES))
|
||||
C_OBJ_FILES = $(PSWRAP_OBJ_FILES) $(addprefix $(GNUSTEP_OBJ_DIR)/,$(C_OBJS))
|
||||
|
||||
# C++ files might end in .C, .cc, .cpp, .cxx, .cp so we replace multiple times
|
||||
CC_OBJS = $(patsubst %.cc,%$(OEXT),\
|
||||
$(patsubst %.C,%$(OEXT),\
|
||||
$(patsubst %.cp,%$(OEXT),\
|
||||
$(patsubst %.cpp,%$(OEXT),\
|
||||
$(patsubst %.cxx,%$(OEXT),$($(GNUSTEP_INSTANCE)_CC_FILES))))))
|
||||
CC_OBJS = $(patsubst %.cc,%.cc$(OEXT),\
|
||||
$(patsubst %.C,%.C$(OEXT),\
|
||||
$(patsubst %.cp,%.cp$(OEXT),\
|
||||
$(patsubst %.cpp,%.cpp$(OEXT),\
|
||||
$(patsubst %.cxx,%.cxx$(OEXT),$($(GNUSTEP_INSTANCE)_CC_FILES))))))
|
||||
CC_OBJ_FILES = $(addprefix $(GNUSTEP_OBJ_DIR)/,$(CC_OBJS))
|
||||
|
||||
ifeq ($(findstring mingw32, $(GNUSTEP_TARGET_OS)), mingw32)
|
||||
WINDRES_OBJS = $(patsubst %.rc,%$(OEXT),$($(GNUSTEP_INSTANCE)_WINDRES_FILES))
|
||||
WINDRES_OBJS = $(patsubst %.rc,%.rc$(OEXT),$($(GNUSTEP_INSTANCE)_WINDRES_FILES))
|
||||
WINDRES_OBJ_FILES = $(addprefix $(GNUSTEP_OBJ_DIR)/,$(WINDRES_OBJS))
|
||||
else
|
||||
ifeq ($(findstring cygwin, $(GNUSTEP_TARGET_OS)), cygwin)
|
||||
WINDRES_OBJS = $(patsubst %.rc,%$(OEXT),$($(GNUSTEP_INSTANCE)_WINDRES_FILES))
|
||||
WINDRES_OBJS = $(patsubst %.rc,%.rc$(OEXT),$($(GNUSTEP_INSTANCE)_WINDRES_FILES))
|
||||
WINDRES_OBJ_FILES = $(addprefix $(GNUSTEP_OBJ_DIR)/,$(WINDRES_OBJS))
|
||||
else
|
||||
WINDRES_OBJ_FILES =
|
||||
|
|
20
rules.make
20
rules.make
|
@ -415,54 +415,54 @@ VPATH = .
|
|||
# as well, so the following rule is simply equivalent to
|
||||
# $(CC) $< -c $(ALL_CPPFLAGS) $(ALL_CFLAGS) -o $@
|
||||
# and similarly all the rules below
|
||||
$(GNUSTEP_OBJ_DIR)/%${OEXT} : %.c
|
||||
$(GNUSTEP_OBJ_DIR)/%.c${OEXT} : %.c
|
||||
$(ECHO_COMPILING)$(CC) $< -c \
|
||||
$(filter-out $($<_FILE_FILTER_OUT_FLAGS),$(ALL_CPPFLAGS) \
|
||||
$(ALL_CFLAGS)) \
|
||||
$($<_FILE_FLAGS) -o $@$(END_ECHO)
|
||||
|
||||
$(GNUSTEP_OBJ_DIR)/%${OEXT} : %.m
|
||||
$(GNUSTEP_OBJ_DIR)/%.m${OEXT} : %.m
|
||||
$(ECHO_COMPILING)$(CC) $< -c \
|
||||
$(filter-out $($<_FILE_FILTER_OUT_FLAGS),$(ALL_CPPFLAGS) \
|
||||
$(ALL_OBJCFLAGS)) \
|
||||
$($<_FILE_FLAGS) -o $@$(END_ECHO)
|
||||
|
||||
$(GNUSTEP_OBJ_DIR)/%${OEXT} : %.C
|
||||
$(GNUSTEP_OBJ_DIR)/%.C${OEXT} : %.C
|
||||
$(ECHO_COMPILING)$(CXX) $< -c \
|
||||
$(filter-out $($<_FILE_FILTER_OUT_FLAGS),$(ALL_CPPFLAGS) \
|
||||
$(ALL_CFLAGS) \
|
||||
$(ALL_CCFLAGS)) \
|
||||
$($<_FILE_FLAGS) -o $@$(END_ECHO)
|
||||
|
||||
$(GNUSTEP_OBJ_DIR)/%${OEXT} : %.cc
|
||||
$(GNUSTEP_OBJ_DIR)/%.cc${OEXT} : %.cc
|
||||
$(ECHO_COMPILING)$(CXX) $< -c \
|
||||
$(filter-out $($<_FILE_FILTER_OUT_FLAGS),$(ALL_CPPFLAGS) \
|
||||
$(ALL_CFLAGS) \
|
||||
$(ALL_CCFLAGS)) \
|
||||
$($<_FILE_FLAGS) -o $@$(END_ECHO)
|
||||
|
||||
$(GNUSTEP_OBJ_DIR)/%${OEXT} : %.cpp
|
||||
$(GNUSTEP_OBJ_DIR)/%.cpp${OEXT} : %.cpp
|
||||
$(ECHO_COMPILING)$(CXX) $< -c \
|
||||
$(filter-out $($<_FILE_FILTER_OUT_FLAGS),$(ALL_CPPFLAGS) \
|
||||
$(ALL_CFLAGS) \
|
||||
$(ALL_CCFLAGS)) \
|
||||
$($<_FILE_FLAGS) -o $@$(END_ECHO)
|
||||
|
||||
$(GNUSTEP_OBJ_DIR)/%${OEXT} : %.cxx
|
||||
$(GNUSTEP_OBJ_DIR)/%.cxx${OEXT} : %.cxx
|
||||
$(ECHO_COMPILING)$(CXX) $< -c \
|
||||
$(filter-out $($<_FILE_FILTER_OUT_FLAGS),$(ALL_CPPFLAGS) \
|
||||
$(ALL_CFLAGS) \
|
||||
$(ALL_CCFLAGS)) \
|
||||
$($<_FILE_FLAGS) -o $@$(END_ECHO)
|
||||
|
||||
$(GNUSTEP_OBJ_DIR)/%${OEXT} : %.cp
|
||||
$(GNUSTEP_OBJ_DIR)/%.cp${OEXT} : %.cp
|
||||
$(ECHO_COMPILING)$(CXX) $< -c \
|
||||
$(filter-out $($<_FILE_FILTER_OUT_FLAGS),$(ALL_CPPFLAGS) \
|
||||
$(ALL_CFLAGS) \
|
||||
$(ALL_CCFLAGS)) \
|
||||
$($<_FILE_FLAGS) -o $@$(END_ECHO)
|
||||
|
||||
$(GNUSTEP_OBJ_DIR)/%${OEXT} : %.mm
|
||||
$(GNUSTEP_OBJ_DIR)/%.mm${OEXT} : %.mm
|
||||
$(ECHO_COMPILING)$(CXX) $< -c \
|
||||
$(filter-out $($<_FILE_FILTER_OUT_FLAGS),$(ALL_CPPFLAGS) \
|
||||
$(ALL_OBJCCFLAGS)) \
|
||||
|
@ -579,7 +579,7 @@ ifeq ($(findstring mingw32, $(GNUSTEP_TARGET_OS)), mingw32)
|
|||
.SUFFIXES: .rc
|
||||
|
||||
# A rule to generate a .o file from the .rc file.
|
||||
$(GNUSTEP_OBJ_DIR)/%${OEXT}: %.rc
|
||||
$(GNUSTEP_OBJ_DIR)/%.rc${OEXT}: %.rc
|
||||
$(ECHO_COMPILING)windres $< $@$(END_ECHO)
|
||||
endif
|
||||
|
||||
|
@ -592,7 +592,7 @@ ifeq ($(findstring cygwin, $(GNUSTEP_TARGET_OS)), cygwin)
|
|||
.SUFFIXES: .rc
|
||||
|
||||
# A rule to generate a .o file from the .rc file.
|
||||
$(GNUSTEP_OBJ_DIR)/%${OEXT}: %.rc
|
||||
$(GNUSTEP_OBJ_DIR)/%.rc${OEXT}: %.rc
|
||||
$(ECHO_COMPILING)windres $< $@$(END_ECHO)
|
||||
endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue