3 CFLAGS = -Igensrc -ggdb
4 CXXFLAGS = -Igensrc -ggdb
6 PACKAGES_gldbg = mspcore mspstrings mspio mspfs
7 CXXFLAGS_gldbg = $(shell pkg-config --cflags $(PACKAGES_gldbg))
8 LIBS_gldbg = $(shell pkg-config --libs $(PACKAGES_gldbg)) -lreadline
10 all: glwrap.so gldump gldbg
12 glwrap.so: source/glwrap.o
13 $(CC) -shared -o $@ $^ $(LIBS) $(LDFLAGS)
15 gldump: source/gldecoder.o source/gldump.o source/glprint.o source/enums.o
16 $(CC) -o $@ $^ $(LIBS) $(LDFLAGS)
18 gldbg: source/gldbg.o source/gldecoder.o source/glprint.o source/commandinterpreter.o source/tracer.o source/process.o source/enums.o
19 $(CXX) -o $@ $^ $(LIBS_gldbg) $(LIBS) $(LDFLAGS)
21 source/glwrap.o: source/functions.h gensrc/functions.enum gensrc/glwrap.funcs
22 source/gldecoder.o: source/functions.h gensrc/gldecoder.struct gensrc/gldecoder.funcs gensrc/gldecoder.funcs
23 source/gldump.o: source/gldecoder.h gensrc/gldecoder.struct source/glprint.h
24 source/glprint.o: gensrc/glprint.funcs gensrc/gldecoder.struct
25 source/enums.o: gensrc/enums.table
27 source/gldbg.o: source/gldbg.cpp source/gldbg.h source/gldecoder.h source/tracer.h
28 $(CXX) -c $(CXXFLAGS) $(CXXFLAGS_gldbg) -o $@ $<
30 source/tracer.o: source/tracer.cpp source/gldecoder.h source/glprint.h
31 $(CXX) -c $(CXXFLAGS) $(CXXFLAGS_gldbg) -o $@ $<
33 source/commandinterpreter.o: source/commandinterpreter.cpp source/gldbg.h
34 $(CXX) -c $(CXXFLAGS) $(CXXFLAGS_gldbg) -o $@ $<
36 source/process.o: source/process.cpp source/process.h
37 $(CXX) -c $(CXXFLAGS) $(CXXFLAGS_gldbg) -o $@ $<
39 gensrc/%: source/%.t gensrc/.created genwrap.py gl.files gl.tm gl.io gl.spec glx.files glx.tm glx.io glx.spec glxext.spec
40 python ./genwrap.py $< gl.files glx.files >$@
42 gensrc/enums.table: enum.spec genenum.py
43 python ./genenum.py enum.spec >$@