[build] Dependency checking for all ruamoko code

Including dependency on qfcc itself. Getting automake to chooch the way
I want it to chooch can be a pain in the... see AvE
This commit is contained in:
Bill Currie 2020-03-03 17:24:53 +09:00
parent 6def1fc01c
commit 051a572bcc
5 changed files with 244 additions and 120 deletions

View file

@ -1,43 +1,66 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS= foreign
pkgdatadir=@sharepath@/QF
AUTOMAKE_OPTIONS= foreign no-exeext
QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QFCC=$(QFCC_DEP)
QCFLAGS=-qq -O -g -Wall -Werror -Wno-integer-divide --no-default-paths
QCPPFLAGS=-I. -I$(srcdir) -I$(top_builddir)/ruamoko/include -I$(top_srcdir)/ruamoko/include -I$(top_builddir)/include -I$(top_srcdir)/include
GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi
GZ=@progs_gz@
menu_libexec=menu.dat
menu_data=menu.plist menu.sym
pkglibexecdir=@sharepath@/QF
pkgdatadir=@sharepath@/QF
pkgdata_DATA= $(menu_data)
pkglibexec_PROGRAMS= $(menu_libexec)
EXTRA_PROGRAMS= $(menu_libexec)
QCFLAGS=-qq -O -g -Wall -Werror -Wno-integer-divide
QCPPFLAGS=--no-default-paths -I$(top_srcdir)/ruamoko/include -I$(top_srcdir)/include
QCLINKFLAGS=--no-default-paths -L$(top_builddir)/ruamoko/lib
QCOMPILE=$(QFCC) $(QCFLAGS) $(QCPPFLAGS)
QLINK=$(QFCC) $(QCFLAGS) $(QCLINKFLAGS)
MKDIR_P = @MKDIR_P@
am__mv = mv -f
GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi
# BSD make can't handle $(shell foo) directives, and GNU make can't handle |=
# so we have to bite the bullet and pass this to the shell every time.
STRIP=`echo -n $(srcdir)/ | sed -e 's/[^/]//g' | wc -c`
menu_data=menu.dat$(GZ) menu.sym$(GZ) menu.plist
data=$(menu_data)
pkgdata_DATA= $(data)
EXTRA_DATA= $(menu_data)
SUFFIXES=.o .r
.r.o:
$(QCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tqo -p $(STRIP) -c -o $@ $<
sed -i -e '1s@:@: $(QFCC_DEP)@' $(DEPDIR)/$*.Tqo
$(am__mv) $(DEPDIR)/$*.Tqo $(DEPDIR)/$*.Qo
menu_src= \
client_menu.r controls_o.r options.r options_util.r servlist.r \
Frame.r menu.r HUD.r plistmenu.r ../lib/debug.r \
Frame.r HUD.r menu.r plistmenu.r \
\
CrosshairCvar.r CrosshairView.r CvarColor.r CvarColorView.r \
CvarObject.r CvarRange.r CvarRangeView.r CvarString.r CvarStringView.r \
CvarToggle.r CvarToggleView.r \
MenuGroup.r MouseToggle.r ProxyView.r RunToggle.r SubMenu.r
SUFFIXES=.qfo .r
.r.qfo:
$(QFCC) $(QCFLAGS) $(QCPPFLAGS) -p $(STRIP) -c -o $@ $<
menu_obj=$(menu_src:.r=.qfo)
r_depfiles_remade=
menu.dat$(GZ): $(menu_obj) $(QFCC_DEP) ../lib/libcsqc.a ../lib/libr.a ../gui/libgui.a
$(QFCC) $(QCFLAGS) -p $(STRIP) -o menu.dat $(menu_obj) ../gui/libgui.a ../lib/libcsqc.a ../lib/libr.a
$(GZIP)
menu.sym$(GZ): menu.dat$(GZ)
menu_dat_SOURCES=$(menu_src)
menu_obj=$(menu_src:.r=.o)
menu_dep=$(addprefix ./$(DEPDIR)/,$(menu_obj:.o=.Qo))
menu.dat: $(menu_obj) $(QFCC_DEP) ../lib/libcsqc.a ../lib/libr.a ../gui/libgui.a
$(QLINK) -p $(STRIP) -o menu.dat $(menu_obj) ../gui/libgui.a ../lib/libcsqc.a ../lib/libr.a
include $(menu_dep) # am--include-marker
r_depfiles_remade += $(menu_dep)
menu.sym: menu.dat
$(r_depfiles_remade):
$(MKDIR_P) $(@D)
echo '# dummy' >$@-t && $(am__mv) $@-t $@
am--depfiles: $(am__depfiles_remade) $(r_depfiles_remade)
EXTRA_DIST= $(menu_src) \
CrosshairCvar.h CrosshairView.h CvarColor.h CvarColorView.h CvarObject.h \
@ -46,4 +69,4 @@ EXTRA_DIST= $(menu_src) \
MenuGroup.h MouseToggle.h ProxyView.h RunToggle.h SubMenu.h client_menu.h \
controls_o.h menu.h options.h options_util.h plistmenu.h servlist.h \
menu.plist
CLEANFILES= *.dat *.sym *.gz *.qfo
CLEANFILES= *.dat *.sym *.gz *.qfo *.o

View file

@ -1,35 +1,57 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS= foreign
#FIXME should qf data be installed somewhere other than id1 that gets
#searched after everything else?
pkgdatadir=@sharepath@/id1
AUTOMAKE_OPTIONS= foreign no-exeext
QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QFCC=$(QFCC_DEP)
QCFLAGS=-qq -O -g -Werror -Wall -Wno-integer-divide --no-default-paths
QCPPFLAGS=-I. -I$(srcdir) -I$(top_builddir)/ruamoko/include -I$(top_srcdir)/ruamoko/include
GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi
GZ=@progs_gz@
game_libexec=game.dat
pkglibexecdir=@sharepath@/QF
# this will eventually go into pkglibexecdir, but for now...
noinst_PROGRAMS= $(game_libexec)
EXTRA_PROGRAMS= $(game_libexec)
QCFLAGS=-qq -O -g -Werror -Wall -Wno-integer-divide
QCPPFLAGS=--no-default-paths -I$(top_srcdir)/ruamoko/include
QCLINKFLAGS=--no-default-paths -L$(top_builddir)/ruamoko/lib
QCOMPILE=$(QFCC) $(QCFLAGS) $(QCPPFLAGS)
QLINK=$(QFCC) $(QCFLAGS) $(QCLINKFLAGS)
MKDIR_P = @MKDIR_P@
am__mv = mv -f
GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi
# BSD make can't handle $(shell foo) directives, and GNU make can't handle |=
# so we have to bite the bullet and pass this to the shell every time.
STRIP=`echo -n $(srcdir)/ | sed -e 's/[^/]//g' | wc -c`
data=game.dat$(GZ)
noinst_DATA= $(data)
EXTRA_DATA= game.dat
SUFFIXES=.o .r
.r.o:
$(QCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tqo -p $(STRIP) -c -o $@ $<
sed -i -e '1s@:@: $(QFCC_DEP)@' $(DEPDIR)/$*.Tqo
$(am__mv) $(DEPDIR)/$*.Tqo $(DEPDIR)/$*.Qo
game_src= Axe.r GameEntity.r World.r tempent.r
SUFFIXES=.qfo .r
.r.qfo:
$(QFCC) $(QCFLAGS) $(QCPPFLAGS) -p $(STRIP) -c -o $@ $<
r_depfiles_remade=
game_obj=$(game_src:.r=.qfo)
game.dat$(GZ): $(game_obj) ../lib/libr.a ../lib/libqw.a
$(QFCC) $(QCFLAGS) -p $(STRIP) -o game.dat $(game_obj) ../lib/libr.a ../lib/libqw.a ../lib/libr.a
$(GZIP)
game_dat_SOURCES=$(game_src)
game_obj=$(game_src:.r=.o)
game_dep=$(addprefix ./$(DEPDIR)/,$(game_obj:.o=.Qo))
game.dat: $(game_obj) $(QFCC_DEP) ../lib/libr.a ../lib/libqw.a
$(QLINK) -p $(STRIP) -o game.dat $(game_obj) ../lib/libr.a ../lib/libqw.a ../lib/libr.a
include $(game_dep) # am--include-marker
r_depfiles_remade += $(game_dep)
game.sym: game.dat
$(r_depfiles_remade):
$(MKDIR_P) $(@D)
echo '# dummy' >$@-t && $(am__mv) $@-t $@
am--depfiles: $(am__depfiles_remade) $(r_depfiles_remade)
EXTRA_DIST= $(game_src) Axe.h GameEntity.h tempent.h Weapon.h World.h
CLEANFILES= *.dat *.sym *.gz *.qfo
CLEANFILES= *.dat *.sym *.gz *.o *.qfo

View file

@ -1,30 +1,48 @@
AUTOMAKE_OPTIONS= foreign
QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QFCC=$(QFCC_DEP)
gui_libs=libgui.a
libs=$(gui_libs)
pkglibdir=$(datarootdir)/qfcc/lib
pkglib_LIBRARIES= $(libs)
EXTRA_LIBRARIES= $(gui_libs)
QFCC=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QCFLAGS=-qq -O -g -Werror -Wall -Wno-integer-divide --no-default-paths
QCPPFLAGS=--no-default-paths -I$(top_srcdir)/ruamoko/include
QCLINKFLAGS=--no-default-paths -L$(top_builddir)/ruamoko/lib
QCOMPILE=$(QFCC) $(QCFLAGS) $(QCPPFLAGS)
QLINK=$(QFCC) $(QCFLAGS) $(QCLINKFLAGS)
MKDIR_P = @MKDIR_P@
am__mv = mv -f
PAK=$(top_builddir)/tools/pak/pak$(EXEEXT)
RANLIB=touch
AM_CPPFLAGS= -I$(top_srcdir)/ruamoko/include -I$(top_srcdir)/include
gui_libs=libgui.a
libs=$(gui_libs)
pkglib_LIBRARIES= $(libs)
EXTRA_LIBRARIES= $(gui_libs)
SUFFIXES= .qfo .r .qc
SUFFIXES= .o .r
.r.o:
$(QFCC) $(QCFLAGS) $(QCPPFLAGS) -c -o $@ $<
r_depfiles_remade=
libgui_a_SOURCES= \
Group.r InputLine.r Pic.r Point.r Rect.r Size.r Slider.r Text.r View.r
libgui_a_obj=$(libgui_a_SOURCES:.r=.o)
libgui_a_dep=$(addprefix ./$(DEPDIR)/,$(libgui_a_obj:.o=.Qo))
libgui_a_AR= $(PAK) -cf
include $(libgui_a_dep) # am--include-marker
r_depfiles_remade += $(libgui_a_dep)
$(r_depfiles_remade):
$(MKDIR_P) $(@D)
echo '# dummy' >$@-t && $(am__mv) $@-t $@
am--depfiles: $(am__depfiles_remade) $(r_depfiles_remade)
CLEANFILES= *.qfo *.o

View file

@ -1,53 +1,95 @@
AUTOMAKE_OPTIONS= foreign
pkglibdir=$(datarootdir)/qfcc/lib
QFCC=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QCFLAGS=-qq -O -g -Wall -Wno-integer-divide -Werror --no-default-paths
QCPPFLAGS=--no-default-paths -I$(top_srcdir)/ruamoko/include -I$(top_srcdir)/include
QCLINKFLAGS=--no-default-paths -L$(top_builddir)/ruamoko/lib
QCOMPILE=$(QFCC) $(QCFLAGS) $(QCPPFLAGS)
QLINK=$(QFCC) $(QCFLAGS) $(QCLINKFLAGS)
PAK=$(top_builddir)/tools/pak/pak$(EXEEXT)
RANLIB=touch
AM_CPPFLAGS= -I$(top_srcdir)/ruamoko/include -I$(top_srcdir)/include
noinst_HEADERS= \
Array+Private.h
QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QFCC=$(QFCC_DEP)
ruamoko_libs=libr.a libqw.a libnq.a libcsqc.a
libs=$(ruamoko_libs)
pkglibdir=$(datarootdir)/qfcc/lib
pkglib_LIBRARIES= $(libs)
EXTRA_LIBRARIES= $(ruamoko_libs)
SUFFIXES= .o .r .qc
noinst_HEADERS= \
Array+Private.h
QCFLAGS=-qq -O -g -Wall -Wno-integer-divide -Werror
QCPPFLAGS=--no-default-paths -I$(top_srcdir)/ruamoko/include -I$(top_srcdir)/include
QCLINKFLAGS=--no-default-paths -L$(top_builddir)/ruamoko/lib
QCOMPILE=$(QFCC) $(QCFLAGS) $(QCPPFLAGS)
QLINK=$(QFCC) $(QCFLAGS) $(QCLINKFLAGS)
MKDIR_P = @MKDIR_P@
am__mv = mv -f
PAK=$(top_builddir)/tools/pak/pak$(EXEEXT)
RANLIB=touch
SUFFIXES= .o .r
.r.o:
$(QFCC) $(QCFLAGS) $(QCPPFLAGS) -c -o $@ $<
.qc.o:
$(QFCC) $(QCFLAGS) $(QCPPFLAGS) -c -o $@ $<
$(QCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tqo -p $(STRIP) -c -o $@ $<
sed -i -e '1s@:@: $(QFCC_DEP)@' $(DEPDIR)/$*.Tqo
$(am__mv) $(DEPDIR)/$*.Tqo $(DEPDIR)/$*.Qo
r_depfiles_remade=
libr_a_SOURCES=\
cbuf.r cmd.r cvar.r hash.r msgbuf.r plist.r qfile.r qfs.r script.r \
sound.r string.r math.r types.r \
Object.r Protocol.r \
AutoreleasePool.r Array.r Array+Private.r Entity.r PropertyList.r Set.r
libr_a_obj=$(libr_a_SOURCES:.r=.o)
libr_a_dep=$(addprefix ./$(DEPDIR)/,$(libr_a_obj:.o=.Qo))
libr_a_AR=$(PAK) -cf
include $(libr_a_dep) # am--include-marker
r_depfiles_remade += $(libr_a_dep)
libqw_a_SOURCES=\
crudefile.r debug.r entities.r infokey.r math.r message.r \
physics.r qw_message.r qw_physics.r qw_sys.r \
server.r sv_sound.r system.r
common_src=debug.r system.r
server_src= \
crudefile.r entities.r infokey.r message.r \
physics.r server.r sv_sound.r
libqw_a_src= \
qw_message.r qw_physics.r qw_sys.r
libnq_a_src= \
nq_message.r
libcsqc_a_src= draw.r gib.r key.r
common_obj=$(common_src:.r=.o)
common_dep=$(addprefix ./$(DEPDIR)/,$(common_obj:.o=.Qo))
include $(common_dep) # am--include-marker
r_depfiles_remade += $(common_dep)
server_obj=$(server_src:.r=.o)
server_dep=$(addprefix ./$(DEPDIR)/,$(server_obj:.o=.Qo))
include $(server_dep) # am--include-marker
r_depfiles_remade += $(server_dep)
libqw_a_SOURCES=$(libqw_a_src) $(common_src) $(server_src) math.r
libqw_a_obj=$(libqw_a_src:.r=.o)
libqw_a_dep=$(addprefix ./$(DEPDIR)/,$(libqw_a_obj:.o=.Qo))
libqw_a_AR=$(PAK) -cf
include $(libqw_a_dep) # am--include-marker
r_depfiles_remade += $(libqw_a_dep)
libnq_a_SOURCES=\
crudefile.r debug.r entities.r infokey.r math.r message.r \
nq_message.r physics.r server.r sv_sound.r system.r
libnq_a_SOURCES=$(libnq_a_src) $(common_src) $(server_src) math.r
libnq_a_obj=$(libnq_a_src:.r=.o)
libnq_a_dep=$(addprefix ./$(DEPDIR)/,$(libnq_a_obj:.o=.Qo))
libnq_a_AR=$(PAK) -cf
include $(libnq_a_dep) # am--include-marker
r_depfiles_remade += $(libnq_a_dep)
libcsqc_a_SOURCES= \
debug.r draw.r gib.r key.r system.r
libcsqc_a_SOURCES=$(libcsqc_a_src) $(common_src)
libcsqc_a_obj=$(libcsqc_a_src:.r=.o)
libcsqc_a_dep=$(addprefix ./$(DEPDIR)/,$(libcsqc_a_obj:.o=.Qo))
libcsqc_a_AR= $(PAK) -cf
include $(libcsqc_a_dep) # am--include-marker
r_depfiles_remade += $(libcsqc_a_dep)
$(r_depfiles_remade):
$(MKDIR_P) $(@D)
echo '# dummy' >$@-t && $(am__mv) $@-t $@
am--depfiles: $(am__depfiles_remade) $(r_depfiles_remade)
CLEANFILES= *.qfo *.o

View file

@ -1,30 +1,75 @@
AUTOMAKE_OPTIONS= foreign
pkglibdir=$(datarootdir)/qfcc/lib
AUTOMAKE_OPTIONS= foreign no-exeext
QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QFCC=$(QFCC_DEP)
QCFLAGS=-qq -O -g -Werror -Wall -Wno-integer-divide --no-default-paths
QCPPFLAGS=$(AM_CPPFLAGS)
GZ=@progs_gz@
scheme_libs=libscheme.a
scheme_libexec=main.dat
pkglibdir=$(datarootdir)/qfcc/lib
#FIXME where to put pkglibexec?
#pkglibexecdir=$(datarootdir)/qfcc/bin
pkglib_LIBRARIES= $(scheme_libs)
EXTRA_LIBRARIES= $(scheme_libs)
noinst_PROGRAMS= $(scheme_libexec)
EXTRA_PROGRAMS = $(scheme_libexec)
QCFLAGS=-qq -O -g -Werror -Wall -Wno-integer-divide
QCPPFLAGS=--no-default-paths -I$(top_srcdir)/ruamoko/include
QCLINKFLAGS=--no-default-paths -L$(top_builddir)/ruamoko/lib
QCOMPILE=$(QFCC) $(QCFLAGS) $(QCPPFLAGS)
QLINK=$(QFCC) $(QCFLAGS) $(QCLINKFLAGS)
MKDIR_P = @MKDIR_P@
am__mv = mv -f
PAK=$(top_builddir)/tools/pak/pak$(EXEEXT)
GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi
GZ=@progs_gz@
# BSD make can't handle $(shell foo) directives, and GNU make can't handle |=
# so we have to bite the bullet and pass this to the shell every time.
STRIP=`echo -n $(srcdir)/ | sed -e 's/[^/]//g' | wc -c`
RANLIB=touch
AM_CPPFLAGS= -I$(top_srcdir)/ruamoko/include -I$(top_srcdir)/include
SUFFIXES=.o .r
.r.o:
$(QCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tqo -p $(STRIP) -c -o $@ $<
sed -i -e '1s@:@: $(QFCC_DEP)@' $(DEPDIR)/$*.Tqo
$(am__mv) $(DEPDIR)/$*.Tqo $(DEPDIR)/$*.Qo
scheme_libs=libscheme.a
libs=$(scheme_libs)
data=$(scheme_data)
r_depfiles_remade=
pkglib_LIBRARIES= $(libs)
EXTRA_LIBRARIES= $(scheme_libs)
#pkgdata_DATA= $(data)
EXTRA_DATA = $(scheme_data)
libscheme_a_SOURCES=\
SchemeObject.r Cons.r Number.r SchemeString.r Symbol.r Lexer.r Parser.r \
Nil.r Procedure.r Primitive.r Lambda.r Scope.r Instruction.r builtins.r \
Frame.r CompiledCode.r Compiler.r Continuation.r Machine.r Void.r \
Error.r Boolean.r BaseContinuation.r
libscheme_a_obj=$(libscheme_a_SOURCES:.r=.o)
libscheme_a_dep=$(addprefix ./$(DEPDIR)/,$(libscheme_a_obj:.o=.Qo))
libscheme_a_AR=$(PAK) -cf
include $(libscheme_a_dep) # am--include-marker
r_depfiles_remade += $(libscheme_a_dep)
scheme_src=\
main.r defs.r
main_dat_SOURCES=$(scheme_src)
main_obj=$(scheme_src:.r=.o)
main_dep=$(addprefix ./$(DEPDIR)/,$(main_obj:.o=.Qo))
main.dat: $(main_obj) $(QFCC_DEP) libscheme.a ../lib/libcsqc.a ../lib/libr.a
$(QLINK) -p $(STRIP) -o main.dat $(main_obj) libscheme.a ../lib/libcsqc.a ../lib/libr.a
include $(main_dep) # am--include-marker
r_depfiles_remade += $(main_dep)
main.sym: main.dat
$(r_depfiles_remade):
$(MKDIR_P) $(@D)
echo '# dummy' >$@-t && $(am__mv) $@-t $@
am--depfiles: $(am__depfiles_remade) $(r_depfiles_remade)
EXTRA_DIST = \
BaseContinuation.h Boolean.h CompiledCode.h Compiler.h Cons.h \
@ -34,30 +79,4 @@ EXTRA_DIST = \
debug.h defs.h state.h \
\
main.r defs.r
SUFFIXES=.qc .qfo .r
.r.qfo:
$(QFCC) $(QCFLAGS) $(QCPPFLAGS) -p $(STRIP) -c -o $@ $<
.r.o:
$(QFCC) $(QCFLAGS) $(QCPPFLAGS) -p $(STRIP) -c -o $@ $<
libscheme_a_SOURCES=\
SchemeObject.r Cons.r Number.r SchemeString.r Symbol.r Lexer.r Parser.r \
Nil.r Procedure.r Primitive.r Lambda.r Scope.r Instruction.r builtins.r \
Frame.r CompiledCode.r Compiler.r Continuation.r Machine.r Void.r \
Error.r Boolean.r BaseContinuation.r
libscheme_a_AR=$(PAK) -cf
scheme_data=\
main.dat$(GZ)
scheme_src=\
main.r defs.r
scheme_obj=$(scheme_src:.qc=.o)
main.dat$(GZ): $(scheme_obj) $(QFCC_DEP) ../lib/libcsqc.a ../lib/libr.a libscheme.a
$(QFCC) $(QCFLAGS) -p $(STRIP) -o main.dat $(scheme_obj) libscheme.a ../lib/libcsqc.a ../lib/libr.a
$(GZIP)
CLEANFILES= *.dat *.sym *.gz *.qfo *.o