New version of wmake supporting out-of-tree object and dependency files
This commit is contained in:
@ -1,11 +1,7 @@
|
||||
.SUFFIXES: .y .Y
|
||||
SUFFIXES += .y .Y
|
||||
|
||||
ytoo = bison -v -d -y $$SOURCE ; mv y.tab.c $*.c ; mv y.tab.h $*.h ; $(cc) $(cFLAGS) -c $*.c -o $@
|
||||
ytoo = bison -v -d -y $< ; mv y.tab.c $(@D)/$(<F).c ; mv y.tab.h $(@D)/$(<F).h ; \
|
||||
$(cc) $(cFLAGS) -c $(@D)/$(<F).c -o $@
|
||||
|
||||
Ytoo = bison -v -d -y $$SOURCE ; mv y.tab.c $*.C ; mv y.tab.h $*.H ; $(CC) $(c++FLAGS) -c $*.C -o $@
|
||||
|
||||
.y.dep:
|
||||
$(MAKE_DEP)
|
||||
|
||||
.Y.dep:
|
||||
$(MAKE_DEP)
|
||||
Ytoo = bison -v -d -y $< ; mv y.tab.c $(@D)/$(<F).C ; mv y.tab.h $(@D)/$(<F).H ; \
|
||||
$(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
.SUFFIXES: .y
|
||||
SUFFIXES += .y
|
||||
|
||||
ytoo = btyacc -v -d $(SKELETON) $$SOURCE ; mv y_tab.c $*.C ; mv y_tab.h $*.H ; $(CC) $(c++FLAGS) -c $*.C -o $@
|
||||
|
||||
.y.dep:
|
||||
$(MAKE_DEP)
|
||||
ytoo = btyacc -v -d $(SKELETON) $< ; mv y_tab.c $(@D)/$(<F).C ; mv y_tab.h $(@D)/$(<F).H ; \
|
||||
$(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
.SUFFIXES: .Y
|
||||
SUFFIXES += .Y
|
||||
|
||||
Ytoo = btyacc++ -v -d $(SKELETON) $$SOURCE ; mv y_tab.c $*.C ; mv y_tab.h $*.H ; $(CC) $(c++FLAGS) -c $*.C -o $@
|
||||
|
||||
.Y.dep:
|
||||
$(MAKE_DEP)
|
||||
Ytoo = btyacc++ -v -d $(SKELETON) $< ; mv y_tab.c $(@D)/$(<F).C ; mv y_tab.h $(@D)/$(<F).H ; \
|
||||
$(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
.SUFFIXES: .y
|
||||
SUFFIXES += .y
|
||||
|
||||
ytoo = byacc -v $(YYPREFIX) -d $$SOURCE ; mv y.tab.c $*.C ; mv y.tab.h $*.H ; $(CC) $(c++FLAGS) -c $*.C -o $@
|
||||
|
||||
.y.dep:
|
||||
$(MAKE_DEP)
|
||||
ytoo = byacc -v $(YYPREFIX) -d $< ; mv y.tab.c $(@D)/$(<F).C ; mv y.tab.h $(@D)/$(<F).H ; \
|
||||
$(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
|
||||
|
||||
@ -3,13 +3,10 @@
|
||||
# http://github.com/olesenm/coco-cpp/
|
||||
#
|
||||
|
||||
.SUFFIXES: .atg
|
||||
SUFFIXES += .atg
|
||||
|
||||
atgtoo = \
|
||||
$(WM_THIRD_PARTY_DIR)/platforms/$(WM_ARCH)$(WM_COMPILER)/coco-cpp/bin/coco-cpp \
|
||||
-single \
|
||||
$$SOURCE -o $(OBJECTS_DIR) && \
|
||||
$(CC) $(c++FLAGS) -c $*.cpp -o $@
|
||||
|
||||
.atg.dep:
|
||||
$(MAKE_DEP)
|
||||
$< -o $(OBJECTS_DIR) && \
|
||||
$(CC) $(c++FLAGS) -c $(@D)/$(<F).cpp -o $@
|
||||
|
||||
@ -1,6 +1,3 @@
|
||||
.SUFFIXES: .l
|
||||
SUFFIXES += .l
|
||||
|
||||
ltoo = flex -o$*.c $$SOURCE ; $(cc) $(cFLAGS) -c $*.c -o $@
|
||||
|
||||
.l.dep:
|
||||
$(MAKE_DEP)
|
||||
ltoo = flex -o $(@D)/$(<F).c $< ; $(cc) $(cFLAGS) -c $(@D)/$(<F).c -o $@
|
||||
|
||||
@ -1,6 +1,3 @@
|
||||
.SUFFIXES: .L
|
||||
SUFFIXES += .L
|
||||
|
||||
Ltoo = flex -+ -o$*.C -f $$SOURCE ; $(CC) $(c++FLAGS) -c $*.C -o $@
|
||||
|
||||
.L.dep:
|
||||
$(MAKE_DEP)
|
||||
Ltoo = flex -+ -o$(@D)/$(<F).C -f $< ; $(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
#-------------------------------*- makefile -*---------------------------------
|
||||
|
||||
AR = ar
|
||||
ARFLAGS = cr
|
||||
RANLIB = ranlib
|
||||
@ -8,3 +10,5 @@ GFLAGS = -D$(WM_ARCH) -DWM_$(WM_PRECISION_OPTION)
|
||||
GINC =
|
||||
GLIBS = -lm
|
||||
GLIB_LIBS =
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
@ -1,6 +1,3 @@
|
||||
.SUFFIXES: .qt
|
||||
SUFFIXES += .qt
|
||||
|
||||
qttoo = $(QTDIR)/bin/moc -f $$SOURCE -o $*.C ; $(CC) $(c++FLAGS) -c $*.C -o $@
|
||||
|
||||
.qt.dep:
|
||||
$(MAKE_DEP)
|
||||
qttoo = $(QTDIR)/bin/moc -f $< -o $(@D)/$(<F).C ; $(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
PFLAGS =
|
||||
PINC = -I$(MPI_ARCH_PATH)/include
|
||||
PLIBS = -L$(MPI_ARCH_PATH)/lib -lgamma
|
||||
@ -1,24 +0,0 @@
|
||||
.SUFFIXES: .c .cc .cxx .cpp .C .F .f .dep
|
||||
|
||||
MKDEP = $(WMAKE_BIN)/wmkdep -I$(*D) $(LIB_HEADER_DIRS)
|
||||
|
||||
.c.dep:
|
||||
$(MAKE_DEP)
|
||||
|
||||
.cc.dep:
|
||||
$(MAKE_DEP)
|
||||
|
||||
.cxx.dep:
|
||||
$(MAKE_DEP)
|
||||
|
||||
.cpp.dep:
|
||||
$(MAKE_DEP)
|
||||
|
||||
.C.dep:
|
||||
$(MAKE_DEP)
|
||||
|
||||
.F.dep:
|
||||
$(MAKE_DEP)
|
||||
|
||||
.f.dep:
|
||||
$(MAKE_DEP)
|
||||
@ -1,7 +1,8 @@
|
||||
#-------------------------------*- makefile -*---------------------------------
|
||||
|
||||
SUFFIXES=
|
||||
|
||||
include $(GENERAL_RULES)/version
|
||||
|
||||
include $(GENERAL_RULES)/sourceToDep
|
||||
|
||||
include $(GENERAL_RULES)/flex
|
||||
include $(GENERAL_RULES)/flex++
|
||||
## include $(GENERAL_RULES)/coco-cpp
|
||||
@ -9,5 +10,6 @@ include $(GENERAL_RULES)/flex++
|
||||
## include $(GENERAL_RULES)/btyacc++
|
||||
include $(GENERAL_RULES)/bison
|
||||
include $(GENERAL_RULES)/moc
|
||||
|
||||
include $(GENERAL_RULES)/X
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
15
wmake/rules/General/transform
Normal file
15
wmake/rules/General/transform
Normal file
@ -0,0 +1,15 @@
|
||||
#-------------------------------*- makefile -*---------------------------------
|
||||
|
||||
define DEFINE_TRANSFORM
|
||||
$(OBJECTS_DIR)/%.o : %$1
|
||||
$$($(subst .,,$(1))too)
|
||||
endef
|
||||
|
||||
$(foreach s,$(SUFFIXES),$(eval $(call DEFINE_TRANSFORM,$(s))))
|
||||
|
||||
$(OBJECTS_DIR)/%.dep : %
|
||||
@$(WM_SCRIPTS)/makeTargetDir $@
|
||||
@$(WMAKE_BIN)/wmkdep -I$(*D) $(LIB_HEADER_DIRS) $< | \
|
||||
sed 's,$(WM_PROJECT_DIR),$$(WM_PROJECT_DIR),' > $@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@ -1,13 +1,12 @@
|
||||
.SUFFIXES: .Cver
|
||||
#-------------------------------*- makefile -*---------------------------------
|
||||
|
||||
#
|
||||
# update version strings in C++ file and in $WM_PROJECT_DIR/.build file
|
||||
#
|
||||
SUFFIXES += .Cver
|
||||
|
||||
# Update version strings in C++ file and in $WM_PROJECT_DIR/.build file
|
||||
Cvertoo = \
|
||||
sed -e 's!VERSION_STRING!$(shell wmakePrintBuild -major)!' \
|
||||
-e 's!BUILD_STRING!$(shell wmakePrintBuild -update)!' \
|
||||
$$SOURCE > $*.C; \
|
||||
$(CC) $(c++FLAGS) -c $*.C -o $@
|
||||
$< > $(@D)/$(<F).C; \
|
||||
$(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
|
||||
|
||||
.Cver.dep:
|
||||
$(MAKE_DEP)
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
@ -1,11 +1,7 @@
|
||||
.SUFFIXES: .y .Y
|
||||
SUFFIXES += .y .Y
|
||||
|
||||
ytoo = yacc -v -d $$SOURCE ; mv y.tab.c $*.c ; mv y.tab.h $(@D)/parser.h ; $(CC) $(c++FLAGS) -c $*.c -o $@
|
||||
ytoo = yacc -v -d $< ; mv y.tab.c $(@D)/$(<F).c ; mv y.tab.h $(@D)/parser.h ; \
|
||||
$(CC) $(c++FLAGS) -c $(@D)/$(<F).c -o $@
|
||||
|
||||
Ytoo = yacc -v -d $$SOURCE ; mv y.tab.c $*.C ; mv y.tab.h $(@D)/parser.H ; $(CC) $(c++FLAGS) -c $*.C -o $@
|
||||
|
||||
.y.dep:
|
||||
$(MAKE_DEP)
|
||||
|
||||
.Y.dep:
|
||||
$(MAKE_DEP)
|
||||
Ytoo = yacc -v -d $< ; mv y.tab.c $(@D)/$(<F).C ; mv y.tab.h $(@D)/parser.H ; \
|
||||
$(CC) $(c++FLAGS) -c $(@D)/$(<F).C -o $@
|
||||
|
||||
Reference in New Issue
Block a user