demotool/Makefile

157 lines
4.1 KiB
Makefile
Raw Normal View History

2017-11-22 08:53:31 +01:00
OUTDIR = build
2017-10-02 10:00:39 +02:00
2017-09-30 21:22:38 +02:00
CXXFLAGS += $(shell sdl2-config --cflags) -std=c++14 -Wall -g
2017-09-30 10:26:30 +02:00
CFLAGS += $(shell sdl2-config --cflags)
2017-10-31 09:22:38 +01:00
CPPFLAGS += -I. -I$(OUTDIR) \
-I3rdparty/imgui -I3rdparty/glm \
-I3rdparty/icon-font-headers \
-I3rdparty/ebcl/include \
2017-09-30 10:26:30 +02:00
-DREAL_BUILD -DGLM_ENABLE_EXPERIMENTAL
2017-11-01 23:45:09 +01:00
LIBS += $(shell sdl2-config --libs) -lGL -lGLEW -ldl \
$(LIBEBCL) -latomic
2017-09-30 10:26:30 +02:00
2017-09-30 11:23:14 +02:00
FILEDUMPS =
2017-09-30 10:26:30 +02:00
2017-10-02 10:00:39 +02:00
IMGUI = imgui.cpp imgui_draw.cpp
2017-11-06 10:33:18 +01:00
COMMON = \
common.cc \
c-camera.cc \
c-filewatcher.cc \
c-utilities.cc \
c-undo.cc \
\
c-ops.cc \
c-opast.cc \
c-opparser.cc \
c-opcomp.cc \
c-opmgr.cc \
\
c-sync.cc \
c-syncedit.cc \
c-syncoverrides.cc \
\
ui.cc \
ui-actions.cc \
ui-app.cc \
ui-colorgrading.cc \
ui-dialogs.cc \
ui-imgui-sdl.cc \
ui-odbg.cc \
ui-opemu.cc \
ui-overrides.cc \
ui-profiling.cc \
ui-rendertarget.cc \
ui-sequencer.cc \
ui-shaders.cc \
ui-sync.cc \
ui-texture.cc \
ui-utilities.cc \
2017-11-06 10:33:18 +01:00
# END COMMON
DEMO = \
2017-10-05 18:35:35 +02:00
demo.cc \
main.cc \
2017-11-06 10:33:18 +01:00
# END DEMO
PARSERCHECK = \
parsercheck.cc \
# END PARSERCHECK
2017-10-02 10:00:39 +02:00
2017-09-30 10:26:30 +02:00
2017-10-02 10:00:39 +02:00
IMGUI_OBJS = $(addprefix $(OUTDIR)/, $(addsuffix .o, $(basename $(IMGUI))))
2017-11-06 10:33:18 +01:00
COMMON_OBJS = $(addprefix $(OUTDIR)/, $(addsuffix .o, $(basename $(COMMON))))
2017-10-02 10:00:39 +02:00
DEMO_OBJS = $(addprefix $(OUTDIR)/, $(addsuffix .o, $(basename $(DEMO))))
2017-11-06 10:33:18 +01:00
PARSERCHECK_OBJS = $(addprefix $(OUTDIR)/, $(addsuffix .o, $(basename $(PARSERCHECK))))
LIBEBCL = $(OUTDIR)/ebcl/libebcorelib.a
2017-10-02 10:00:39 +02:00
PCH=externals.hh.gch
2017-09-30 10:26:30 +02:00
2017-11-06 10:33:18 +01:00
COMMON_DEPS = $(COMMON_OBJS:$(OUTDIR)/%.o=$(OUTDIR)/%.d)
2017-10-02 10:00:39 +02:00
DEMO_DEPS = $(DEMO_OBJS:$(OUTDIR)/%.o=$(OUTDIR)/%.d)
2017-11-06 10:33:18 +01:00
PARSERCHECK_DEPS = $(PARSERCHECK_OBJS:$(OUTDIR)/%.o=$(OUTDIR)/%.d)
2017-09-30 10:26:30 +02:00
2017-11-06 10:33:18 +01:00
COMMON_REQ = $(COMMON_OBJS) $(IMGUI_OBJS)
DEMO_BUILD = $(DEMO_OBJS) $(COMMON_REQ)
PARSERCHECK_BUILD = $(PARSERCHECK_OBJS) $(COMMON_REQ)
ALL_OBJS = $(DEMO_OBJS) $(PARSERCHECK_OBJS) $(COMMON_REQ)
ALL_DEPS = $(COMMON_DEPS) $(DEMO_DEPS) $(PARSERCHECK_DEPS)
all: demo parsercheck
demo: $(LIBEBCL) $(DEMO_BUILD)
2017-09-30 10:37:45 +02:00
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o demo \
2017-11-06 10:33:18 +01:00
$(DEMO_BUILD) $(LIBS)
parsercheck: $(LIBEBCL) $(PARSERCHECK_BUILD)
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o parsercheck \
$(PARSERCHECK_BUILD) $(LIBS)
2017-09-30 10:26:30 +02:00
clean:
2017-11-22 08:53:31 +01:00
rm -f $(ALL_OBJS) $(FILEDUMPS) demo parsercheck $(PCH) $(OUTDIR)/font-awesome.inl
2017-09-30 10:26:30 +02:00
depclean: clean
rm -f $(ALL_DEPS)
fullclean: depclean
@+make -C 3rdparty/ebcl fullclean CONFIG=../../ebcl-config
rm -f $(OUTDIR)/font-to-c
2017-09-30 10:26:30 +02:00
2017-11-06 10:33:18 +01:00
.PHONY: all clean fullclean
2017-09-30 10:26:30 +02:00
$(FILEDUMPS): fd-%.h: %
xxd -i $< $@
2017-10-02 10:00:39 +02:00
outdir:
@if ! [ -d "$(OUTDIR)" ]; then mkdir "$(OUTDIR)"; fi
.PHONY: outdir
2017-09-30 10:26:30 +02:00
2017-11-06 10:33:18 +01:00
#-------------------------------------------------------------------------------
$(IMGUI_OBJS): $(OUTDIR)/%.o: 3rdparty/imgui/%.cpp | outdir
2017-09-30 10:26:30 +02:00
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<
2017-11-06 10:33:18 +01:00
#-------------------------------------------------------------------------------
2017-09-30 10:26:30 +02:00
2017-11-06 10:33:18 +01:00
-include $(DEMO_DEPS)
2017-10-02 10:00:39 +02:00
$(DEMO_OBJS): $(OUTDIR)/%.o: %.cc $(PCH) | outdir $(FILEDUMPS)
2017-09-30 10:26:30 +02:00
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<
2017-10-02 10:00:39 +02:00
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -M -MF $(@:%.o=%.d) -MT $@ $<
2017-09-30 10:26:30 +02:00
2017-11-06 10:33:18 +01:00
#-------------------------------------------------------------------------------
-include $(COMMON_DEPS)
$(COMMON_OBJS): $(OUTDIR)/%.o: %.cc $(PCH) | outdir $(FILEDUMPS)
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -M -MF $(@:%.o=%.d) -MT $@ $<
#-------------------------------------------------------------------------------
-include $(PARSERCHECK_DEPS)
$(PARSERCHECK_OBJS): $(OUTDIR)/%.o: %.cc $(PCH) | outdir $(FILEDUMPS)
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -M -MF $(@:%.o=%.d) -MT $@ $<
#-------------------------------------------------------------------------------
2017-11-01 23:34:31 +01:00
$(LIBEBCL): ebcl-config
+make -C 3rdparty/ebcl CONFIG=../../ebcl-config
2017-11-01 23:34:31 +01:00
2017-10-02 10:00:39 +02:00
$(PCH): externals.hh
2017-09-30 10:26:30 +02:00
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<
2017-11-21 17:32:52 +01:00
#-------------------------------------------------------------------------------
$(OUTDIR)/ui-app.o: ui-app.cc $(OUTDIR)/font-awesome.inl
2017-11-21 17:32:52 +01:00
$(OUTDIR)/font-awesome.inl: 3rdparty/font-awesome/fonts/fontawesome-webfont.ttf $(OUTDIR)/font-to-c
$(OUTDIR)/font-to-c -base85 3rdparty/font-awesome/fonts/fontawesome-webfont.ttf \
2017-11-21 17:32:52 +01:00
FontAwesome_ >$@
$(OUTDIR)/font-to-c: 3rdparty/imgui/extra_fonts/binary_to_compressed_c.cpp
2017-11-21 17:32:52 +01:00
$(CXX) -o $@ $<