New version of wmake supporting out-of-tree object and dependency files

This commit is contained in:
Henry
2014-12-14 21:42:18 +00:00
parent 0587e6e0e8
commit bc5134a55e
251 changed files with 1466 additions and 1847 deletions

View File

@ -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 $@

View File

@ -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 $@

View File

@ -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 $@

View File

@ -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 $@

View File

@ -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 $@

View File

@ -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 $@

View File

@ -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 $@

View File

@ -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 =
#------------------------------------------------------------------------------

View File

@ -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 $@

View File

@ -1,3 +0,0 @@
PFLAGS =
PINC = -I$(MPI_ARCH_PATH)/include
PLIBS = -L$(MPI_ARCH_PATH)/lib -lgamma

View File

@ -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)

View File

@ -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
#------------------------------------------------------------------------------

View 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),' > $@
#------------------------------------------------------------------------------

View File

@ -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)
#------------------------------------------------------------------------------

View File

@ -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 $@