]> de.git.xonotic.org Git - voretournament/voretournament.git/blob - misc/source/fteqcc-src/Makefile
Get VoreTournament code to compile with gmqcc. To be compiled with the same parameter...
[voretournament/voretournament.git] / misc / source / fteqcc-src / Makefile
1 COMMON_OBJS=comprout.o hash.o qcc_cmdlib.o qcd_main.o
2 QCC_OBJS=qccmain.o qcc_pr_comp.o qcc_pr_lex.o
3 VM_OBJS=pr_exec.o pr_edict.o pr_multi.o initlib.o qcdecomp.o
4 GTKGUI_OBJS=qcc_gtk.o qccguistuff.o
5 WIN32GUI_OBJS=qccgui.o qccguistuff.o
6 TUI_OBJS=qcctui.o
7 LIB_OBJS=
8
9 CC?=gcc
10 CFLAGS?=-Wall
11
12 all: qcc
13
14 USEGUI_CFLAGS=
15 # set to -DUSEGUI when compiling the GUI
16 BASE_CFLAGS=-ggdb $(USEGUI_CFLAGS)
17
18 BASE_LDFLAGS=-s
19 # set to "" for debugging
20
21 DO_CC=$(CC) $(BASE_CFLAGS) -o $@ -c $< $(CFLAGS)
22
23 lib: 
24
25 R_win_nocyg: $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS)
26         $(CC) $(BASE_CFLAGS) -o fteqcc.exe -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS) -mno-cygwin -mwindows -lcomctl32
27 R_nocyg: $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS)
28         $(CC) $(BASE_CFLAGS) -o fteqcc.exe -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS) -mno-cygwin -lcomctl32
29 R_win: $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS)
30         $(CC) $(BASE_CFLAGS) -o fteqcc.exe -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(COMMON_OBJS) $(WIN32GUI_OBJS) -mwindows -lcomctl32
31
32 win_nocyg:
33         $(MAKE) USEGUI_CFLAGS="-DUSEGUI -DQCCONLY" R_win_nocyg
34 nocyg:
35         $(MAKE) USEGUI_CFLAGS="-DUSEGUI -DQCCONLY" R_nocyg
36 win:
37         $(MAKE) USEGUI_CFLAGS="-DUSEGUI -DQCCONLY" R_win
38
39 R_qcc: $(QCC_OBJS) $(COMMON_OBJS) $(TUI_OBJS)
40         $(CC) $(BASE_CFLAGS) -o fteqcc.bin -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(TUI_OBJS) $(COMMON_OBJS)
41 qcc:
42         $(MAKE) USEGUI_CFLAGS="" R_qcc
43
44 qccmain.o: qccmain.c qcc.h
45         $(DO_CC)
46
47 qcc_cmdlib.o: qcc_cmdlib.c qcc.h
48         $(DO_CC)
49
50 qcc_pr_comp.o: qcc_pr_comp.c qcc.h
51         $(DO_CC)
52
53 qcc_pr_lex.o: qcc_pr_lex.c qcc.h
54         $(DO_CC)
55
56 comprout.o: comprout.c qcc.h
57         $(DO_CC)
58
59 hash.o: hash.c qcc.h
60         $(DO_CC)
61
62 qcd_main.o: qcd_main.c qcc.h
63         $(DO_CC)
64
65 qccguistuff.o: qccguistuff.c qcc.h
66         $(DO_CC)
67
68 qcc_gtk.o: qcc_gtk.c qcc.h
69         $(DO_CC) `pkg-config --cflags gtk+-2.0`
70
71 R_gtkgui: $(QCC_OBJS) $(COMMON_OBJS) $(GTKGUI_OBJS)
72         $(CC) $(BASE_CFLAGS) $(USEGUI_CFLAGS) -o fteqccgui.bin -O3 $(GTKGUI_OBJS) $(QCC_OBJS) $(COMMON_OBJS) `pkg-config --libs gtk+-2.0`
73 gtkgui:
74         $(MAKE) USEGUI_CFLAGS="-DUSEGUI -DQCCONLY" R_gtkgui
75
76 clean:
77         $(RM) fteqcc.bin fteqcc.exe $(QCC_OBJS) $(COMMON_OBJS) $(VM_OBJS) $(GTKGUI_OBJS) $(WIN32GUI_OBJS) $(TUI_OBJS)
78
79 qcvm.so: $(QCC_OBJS) $(VM_OBJS) $(COMMON_OBJS)
80         $(CC) $(BASE_CFLAGS) -o $@ -O3 $(BASE_LDFLAGS) $(QCC_OBJS) $(VM_OBJS) $(COMMON_OBJS) -shared
81
82
83 test.o: test.c
84         $(DO_CC)
85
86 testapp.bin: qcvm.so test.o
87         $(CC) $(BASE_CFLAGS) -o testapp.bin -O3 $(BASE_LDFLAGS) qcvm.so test.o
88
89 regressiontest: testapp.bin
90         ./testapp.bin regression.dat -srcfile regression.src