5aa11ddbb1
emenu: clean up hexen2's maplist options slightly. emenu: modelviewer should now be slightly more friendly (click+wasd to move around). particles: fix up randomised s coords. csqc: try to fix issue with applycustomskin not refcounting properly. client: [s_]precache and (new) mod_precache cvars can be set to 2 to precache the resources after load, for faster loading at the expense of some early stutter, without risking later mid-game stuttering. gltf: add support for morphweights in a cpu-fallback path. don't expect good performance on surfaces with morphtargets for now. gtlf: add some support for gltf1 files. far from perfect. shaders: gltf1 semantics handling shaders: const correctness iqmtool: fix up mdl skin export. iqmtool: integrate the engine's gltf2 loader. works with animated models, but unanimated ones suffer from basepose-different-from-bindpose issues. q3bsp: hopefully fixed bih traces. still disabled for now. qc: change default value of pr_gc_threaded to 1. qcext: add the '__deprecated' keyword to various symbols in fteextensions.qc, now that fteqcc supports it. ssqc: spit out a more readable error for WriteByte(MSG_CSQC,...) outside of SendEntity. ssqc: add registercommand builtin, for consistency with menuqc and csqc (though only one can register any single command). sv: report userinfo/serverinfo sizes (some clients still have arbitrary limits, plus its nice to see how abusive things are) sv: try to optimise sv_cullentities_trace a little. movechain: relink moved ents. csqc: add spriteframe builtin, for freecs to use instead of more ugly less reliable hacks. menuqc: fopen("tls://host:port", FILE_STREAM) should now open a tls stream. tcp:// should also work. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5703 fc73d0e0-1445-4013-8a0c-d673dee63da5
111 lines
2.9 KiB
Makefile
111 lines
2.9 KiB
Makefile
COMMON_OBJS=comprout.o hash.o qcc_cmdlib.o qcd_main.o
|
|
QCC_OBJS=qccmain.o qcc_pr_comp.o qcc_pr_lex.o
|
|
VM_OBJS=pr_exec.o pr_edict.o pr_multi.o initlib.o qcdecomp.o
|
|
GTKGUI_OBJS=qcc_gtk.o qccguistuff.o
|
|
WIN32GUI_OBJS=qccgui.o qccguistuff.o packager.o
|
|
TUI_OBJS=qcctui.o
|
|
LIB_OBJS=
|
|
|
|
CC?=gcc
|
|
CFLAGS?=-Wall
|
|
|
|
all: help qcc
|
|
help:
|
|
@echo for fteqccgui: win or nocyg
|
|
@echo for commandline: qcc
|
|
@echo for debug builds, add: DEBUG=1
|
|
@echo
|
|
|
|
USEGUI_CFLAGS=
|
|
# set to -DUSEGUI when compiling the GUI
|
|
BASE_CFLAGS=$(USEGUI_CFLAGS)
|
|
|
|
ifneq ($(DEBUG),)
|
|
BASE_CFLAGS+=-ggdb
|
|
else
|
|
BASE_LDFLAGS+=-s
|
|
endif
|
|
BASE_LDFLAGS+=-lz
|
|
# set to "" for debugging
|
|
|
|
DO_CC?=$(CC) $(BASE_CFLAGS) -o $@ -c $< $(CFLAGS)
|
|
|
|
lib:
|
|
|
|
R_win_nocyg: $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS)
|
|
$(CC) $(BASE_CFLAGS) -o fteqcc.exe -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS) -mno-cygwin -mwindows -lcomctl32 -lole32 -lshlwapi
|
|
R_nocyg: $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS)
|
|
$(CC) $(BASE_CFLAGS) -o fteqcc.exe -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS) -mno-cygwin -lcomctl32 -lole32 -lshlwapi
|
|
R_win: $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS)
|
|
$(CC) $(BASE_CFLAGS) -o fteqcc.exe -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS) -mwindows -lcomctl32 -lole32 -lshlwapi
|
|
|
|
win_nocyg:
|
|
$(MAKE) USEGUI_CFLAGS="-DUSEGUI -DQCCONLY" R_win_nocyg
|
|
nocyg:
|
|
$(MAKE) USEGUI_CFLAGS="-DUSEGUI -DQCCONLY" R_nocyg
|
|
win:
|
|
$(MAKE) USEGUI_CFLAGS="-DUSEGUI -DQCCONLY" R_win
|
|
|
|
R_qcc: $(QCC_OBJS) $(COMMON_OBJS) $(TUI_OBJS)
|
|
$(CC) $(BASE_CFLAGS) -o fteqcc.bin -O3 $(BASE_LDFLAGS) -lm $(QCC_OBJS) $(TUI_OBJS) $(COMMON_OBJS)
|
|
qcc:
|
|
$(MAKE) USEGUI_CFLAGS="" R_qcc
|
|
|
|
qccmain.o: qccmain.c qcc.h
|
|
$(DO_CC)
|
|
|
|
qcc_cmdlib.o: qcc_cmdlib.c qcc.h
|
|
$(DO_CC)
|
|
|
|
qcc_pr_comp.o: qcc_pr_comp.c qcc.h
|
|
$(DO_CC)
|
|
|
|
qcc_pr_lex.o: qcc_pr_lex.c qcc.h
|
|
$(DO_CC)
|
|
|
|
comprout.o: comprout.c qcc.h
|
|
$(DO_CC)
|
|
|
|
hash.o: hash.c qcc.h
|
|
$(DO_CC)
|
|
|
|
qcd_main.o: qcd_main.c qcc.h
|
|
$(DO_CC)
|
|
|
|
qccguistuff.o: qccguistuff.c qcc.h
|
|
$(DO_CC)
|
|
|
|
packager.o: qccguistuff.c qcc.h
|
|
$(DO_CC)
|
|
|
|
%.o: %.c
|
|
$(DO_CC)
|
|
|
|
qcc_gtk.o: qcc_gtk.c qcc.h
|
|
$(DO_CC) `pkg-config --cflags gtk+-2.0`
|
|
|
|
R_gtkgui: $(QCC_OBJS) $(COMMON_OBJS) $(GTKGUI_OBJS)
|
|
$(CC) $(BASE_CFLAGS) $(USEGUI_CFLAGS) -o fteqccgui.bin -O3 $(GTKGUI_OBJS) $(QCC_OBJS) $(COMMON_OBJS) `pkg-config --libs gtk+-2.0`
|
|
gtkgui:
|
|
$(MAKE) USEGUI_CFLAGS="-DUSEGUI -DQCCONLY" R_gtkgui
|
|
|
|
clean:
|
|
$(RM) fteqcc.bin fteqcc.exe $(QCC_OBJS) $(COMMON_OBJS) $(VM_OBJS) $(GTKGUI_OBJS) $(WIN32GUI_OBJS) $(TUI_OBJS)
|
|
|
|
qcvm.so: $(QCC_OBJS) $(VM_OBJS) $(COMMON_OBJS)
|
|
$(CC) $(BASE_CFLAGS) -o $@ -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(VM_OBJS) $(COMMON_OBJS) -shared
|
|
qcvm.a: $(QCC_OBJS) $(VM_OBJS) $(COMMON_OBJS)
|
|
ar r $@ $^
|
|
|
|
test.o: test.c
|
|
$(DO_CC)
|
|
|
|
testapp.bin: test.o qcvm.a
|
|
$(CC) $(BASE_CFLAGS) $(CFLAGS) -o testapp.bin -O3 $(BASE_LDFLAGS) $^ -lm -lz
|
|
|
|
tests: testapp.bin
|
|
@echo Running Tests...
|
|
@$(foreach a,$(wildcard tests/*.src), echo TEST: $a; rm progs.dat; ./testapp.bin progs.dat -srcfile $a; echo; echo)
|
|
@echo Tests run.
|
|
|
|
.PHONY: tests
|