# $Id$
-CFLAGS = -Igensrc -ggdb
-CXXFLAGS = -Igensrc -ggdb
+CFLAGS = -Igensrc -ggdb -Wall -Wextra
+CXXFLAGS = -Igensrc -ggdb -Wall -Wextra
PACKAGES_gldbg = mspcore mspstrings mspio mspfs
CXXFLAGS_gldbg = $(shell pkg-config --cflags $(PACKAGES_gldbg))
all: glwrap.so gldump gldbg
-glwrap.so: source/glwrap.o
+glwrap.so: source/glwrap.o source/arraysize.o
$(CC) -shared -o $@ $^ $(LIBS) $(LDFLAGS)
-gldump: source/gldecoder.o source/gldump.o source/glprint.o
+gldump: source/gldecoder.o source/gldump.o source/glprint.o source/enums.o source/arraysize.o source/tmpalloc.o
$(CC) -o $@ $^ $(LIBS) $(LDFLAGS)
-gldbg: source/gldbg.o source/gldecoder.o source/glprint.o source/commandinterpreter.o source/tracer.o source/process.o
+gldbg: source/gldbg.o source/gldecoder.o source/glprint.o source/commandinterpreter.o source/tracer.o source/process.o source/enums.o source/arraysize.o source/tmpalloc.o source/glstate.o source/texturestate.o source/bufferstate.o source/profiler.o
$(CXX) -o $@ $^ $(LIBS_gldbg) $(LIBS) $(LDFLAGS)
source/glwrap.o: source/functions.h gensrc/functions.enum gensrc/glwrap.funcs
source/gldecoder.o: source/functions.h gensrc/gldecoder.struct gensrc/gldecoder.funcs gensrc/gldecoder.funcs
source/gldump.o: source/gldecoder.h gensrc/gldecoder.struct source/glprint.h
-source/glprint.o: gensrc/glprint.funcs gensrc/gldecoder.struct
-
-source/gldbg.o: source/gldbg.cpp source/gldbg.h source/gldecoder.h source/tracer.h
- $(CXX) -c $(CXXFLAGS) $(CXXFLAGS_gldbg) -o $@ $<
-
-source/tracer.o: source/tracer.cpp source/gldecoder.h source/glprint.h
+source/glprint.o: source/arraysize.h gensrc/glprint.funcs gensrc/gldecoder.struct
+source/enums.o: gensrc/enums.table
+source/gldbg.o: source/gldbg.h source/gldecoder.h source/tracer.h source/commandinterpreter.h source/glstate.h source/profiler.h
+source/tracer.o: source/gldecoder.h source/glprint.h
+source/commandinterpreter.o: source/gldbg.h source/glstate.h
+source/process.o: source/process.h
+source/glstate.o: source/glstate.h source/gldecoder.h source/texturestate.h source/bufferstate.h
+source/texturestate.o: source/texturestate.h
+
+%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CXXFLAGS_gldbg) -o $@ $<
-source/commandinterpreter.o: source/commandinterpreter.cpp source/gldbg.h
- $(CXX) -c $(CXXFLAGS) $(CXXFLAGS_gldbg) -o $@ $<
-
-source/process.o: source/process.cpp source/process.h
- $(CXX) -c $(CXXFLAGS) $(CXXFLAGS_gldbg) -o $@ $<
+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
+ python ./genwrap.py $< gl.files glx.files >$@
-gensrc/functions.enum gensrc/gldecoder.funcs gensrc/gldecoder.struct gensrc/glwrap.funcs gensrc/glprint.funcs: gensrc/.created genwrap.py gl.spec gl.tm
- python ./genwrap.py
+gensrc/enums.table: enum.spec genenum.py
+ python ./genenum.py enum.spec >$@
gensrc/.created:
mkdir -p gensrc