X-Git-Url: http://git.tdb.fi/?p=gldbg.git;a=blobdiff_plain;f=Makefile;h=ca938f26fd46ba1bcabfa46c3737f97267cdead3;hp=294618646c0f3f46133aab054430a25955758cf8;hb=HEAD;hpb=03c86c2f632b642aa94f721e326787e91aa69c25 diff --git a/Makefile b/Makefile index 2946186..ca938f2 100644 --- a/Makefile +++ b/Makefile @@ -1,39 +1,64 @@ -# $Id$ +ifeq ($(FLAVOR),) +FLAVOR := gl +endif -CPPFLAGS := -I. +CPPFLAGS := -I. -Isource -Iflavors/$(FLAVOR)/source CFLAGS := -ggdb -Wall -Wextra CXXFLAGS := $(CFLAGS) -PACKAGES_gldbg := mspcore mspstrings mspio mspfs +PACKAGES_gldbg := libpng12 + +FLAVOR_ROOT := flavors/$(FLAVOR) +VPATH := $(FLAVOR_ROOT) SOURCES_libgldbg := source/gldecoder.c \ source/glprint.c \ source/enums.c \ source/arraysize.c \ - source/tmpalloc.c + source/tmpalloc.c \ + source/packet.c \ + source/functions.c SOURCES_glwrap := source/glwrap.c \ source/glwrap_funcs.c \ - source/arraysize.c + source/arraysize.c \ + source/packet.c \ + source/tmpalloc.c SOURCES_gldump := source/gldump.c -SOURCES_gldbg := source/gldbg.cpp \ +SOURCES_gldbg := source/main.cpp \ + source/gldbg.cpp \ source/commandinterpreter.cpp \ - source/tracer.cpp \ source/process.cpp \ + source/strformat.cpp \ + source/tool.cpp +SOURCES_tracer := source/tracer.cpp +SOURCES_profiler := source/profiler.cpp +SOURCES_inspector := source/inspector.cpp \ source/glstate.cpp \ + source/arraystate.cpp \ source/texturestate.cpp \ source/bufferstate.cpp \ - source/profiler.cpp \ - source/arraystate.cpp + source/programstate.cpp +SOURCES_grabber := source/grabber.cpp \ + source/grabber_flavor.cpp TEMPLATES := source/functions.enum.t \ + source/functions.table.t \ source/gldecoder.funcs.t \ source/gldecoder.struct.t \ source/glprint.funcs.t \ - source/glwrap.funcs.t + source/glwrap.funcs.t \ + source/enums.table.t + +rename = $(addprefix $(1)/,$(addsuffix $(2),$(basename $(notdir $(3))))) +objs = $(call rename,temp,.o,$(1)) +deps = $(call rename,temp,.d,$(1)) +gen = $(call rename,gensrc,,$(1)) -objs = $(patsubst source/%.cpp,temp/%.o,$(patsubst source/%.c,temp/%.o,$(1))) -deps = $(patsubst source/%.cpp,temp/%.d,$(patsubst source/%.c,temp/%.d,$(1))) -gen = $(patsubst source/%.t,gensrc/%,$(1)) +.PHONY: all +all: glwrap.so gldump gldbg +include flavors/$(FLAVOR)/flavor.mk + +SOURCES_gldbg += $(foreach tool,$(TOOLS),$(SOURCES_$(tool))) GENSOURCES := $(call gen,$(TEMPLATES)) SOURCES_all := $(sort $(SOURCES_libgldbg) $(SOURCES_glwrap) $(SOURCES_gldump) $(SOURCES_gldbg)) @@ -43,15 +68,16 @@ OBJECTS_gldump := $(call objs,$(SOURCES_gldump)) OBJECTS_gldbg := $(call objs,$(SOURCES_gldbg)) OBJECTS_all := $(call objs,$(SOURCES_all)) -DEPS_all := $(call deps,$(SOURCES_all)) +DEPS_all := $(call deps,$(SOURCES_all) $(TEMPLATES)) $(OBJECTS_gldbg): CXXFLAGS += $(shell pkg-config --cflags $(PACKAGES_gldbg)) -gldbg: LIBS += $(shell pkg-config --libs $(PACKAGES_gldbg)) -lreadline +gldbg: LIBS += $(shell pkg-config --libs $(PACKAGES_gldbg)) -lreadline -lrt gldump gldbg: LIBS += ./libgldbg.a +$(OBJECTS_glwrap): CFLAGS += -fPIC +glwrap.so: LDFLAGS += -s +glwrap.so: LIBS += -ldl -all: glwrap.so gldump gldbg - -glwrap.so: $(OBJECTS_glwrap) +glwrap.so: $(OBJECTS_glwrap) glwrap.ld $(CC) -shared -o $@ $^ $(LIBS) $(LDFLAGS) gldump: $(OBJECTS_gldump) libgldbg.a @@ -73,11 +99,8 @@ temp/.created: mkdir -p temp touch $@ -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/enums.table: gensrc/.created enum.spec genenum.py - python ./genenum.py enum.spec >$@ +gensrc/%: source/%.t gensrc/.created generate.py + python ./generate.py $< $(APIS) >$@ gensrc/.created: mkdir -p gensrc @@ -86,10 +109,13 @@ gensrc/.created: -include $(DEPS_all) temp/%.d: source/%.c temp/.created - $(CC) $(CPPFLAGS) -MM -MF $@ -MT $(patsubst source/%.c,temp/%.o,$<) -MG $< + $(CC) $(CPPFLAGS) -MM -MF $@ -MT $(call rename,temp,.o,$<) -MG $< temp/%.d: source/%.cpp temp/.created - $(CXX) $(CPPFLAGS) -MM -MF $@ -MT $(patsubst source/%.cpp,temp/%.o,$<) -MG $< + $(CXX) $(CPPFLAGS) -MM -MF $@ -MT $(call rename,temp,.o,$<) -MG $< + +temp/%.d: source/%.t temp/.created + python ./generate.py --depends=$(call rename,gensrc,,$<) $< $(APIS) >$@ .PHONY: clean clean: