#!/usr/bin/make -f # Makefile for DGL # # ---------------- # # Created by falkTX # include ../Makefile.base.mk # --------------------------------------------------------------------------------------------------------------------- BUILD_C_FLAGS += $(DGL_FLAGS) -I. -Isrc BUILD_CXX_FLAGS += $(DGL_FLAGS) -I. -Isrc -DDONT_SET_USING_DGL_NAMESPACE -Wno-unused-parameter LINK_FLAGS += $(DGL_LIBS) # ifneq ($(MACOS_OLD),true) # needed by sofd right now, fix later # BUILD_CXX_FLAGS += -Wno-type-limits -fpermissive # endif # --------------------------------------------------------------------------------------------------------------------- OBJS_common = \ ../build/dgl/Application.cpp.o \ ../build/dgl/Color.cpp.o \ ../build/dgl/Geometry.cpp.o \ ../build/dgl/ImageBase.cpp.o \ ../build/dgl/Resources.cpp.o \ ../build/dgl/Widget.cpp.o # TODO: ImageWidgets.cpp # --------------------------------------------------------------------------------------------------------------------- OBJS_cairo = $(OBJS_common) \ ../build/dgl/Cairo.cpp.cairo.o \ ../build/dgl/WidgetPrivateData.cpp.cairo.o ifeq ($(MACOS),true) OBJS_cairo += ../build/dgl/Window.mm.cairo.o else OBJS_cairo += ../build/dgl/Window.cpp.cairo.o endif # --------------------------------------------------------------------------------------------------------------------- OBJS_opengl = $(OBJS_common) \ ../build/dgl/OpenGL.cpp.opengl.o \ ../build/dgl/Image.cpp.opengl.o \ ../build/dgl/ImageWidgets.cpp.opengl.o \ ../build/dgl/NanoVG.cpp.opengl.o \ ../build/dgl/WidgetPrivateData.cpp.opengl.o ifeq ($(MACOS),true) OBJS_opengl += ../build/dgl/Window.mm.opengl.o else OBJS_opengl += ../build/dgl/Window.cpp.opengl.o endif # --------------------------------------------------------------------------------------------------------------------- ifeq ($(HAVE_CAIRO),true) TARGETS += ../build/libdgl-cairo.a endif ifeq ($(HAVE_OPENGL),true) TARGETS += ../build/libdgl-opengl.a # Compat name, to be removed soon TARGETS += ../build/libdgl.a endif # --------------------------------------------------------------------------------------------------------------------- all: $(TARGETS) # --------------------------------------------------------------------------------------------------------------------- ../build/libdgl-cairo.a: $(OBJS_cairo) -@mkdir -p ../build @echo "Creating libdgl-cairo.a" @rm -f $@ @$(AR) crs $@ $^ ../build/libdgl-opengl.a: $(OBJS_opengl) -@mkdir -p ../build @echo "Creating libdgl-opengl.a" @rm -f $@ @$(AR) crs $@ $^ # Compat name, to be removed soon ../build/libdgl.a: ../build/libdgl-opengl.a @echo "Symlinking libdgl.a" @ln -s $< $@ # --------------------------------------------------------------------------------------------------------------------- ../build/dgl/%.c.o: src/%.c -@mkdir -p ../build/dgl @echo "Compiling $<" @$(CC) $< $(BUILD_C_FLAGS) -c -o $@ ../build/dgl/%.cpp.o: src/%.cpp -@mkdir -p ../build/dgl @echo "Compiling $<" @$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ # --------------------------------------------------------------------------------------------------------------------- ../build/dgl/%.cpp.cairo.o: src/%.cpp -@mkdir -p ../build/dgl @echo "Compiling $< (Cairo)" @$(CXX) $< $(BUILD_CXX_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -o $@ ../build/dgl/Window.cpp.cairo.o: src/Window.cpp src/sofd/* src/pugl/* -@mkdir -p ../build/dgl @echo "Compiling $< (Cairo)" @$(CXX) $< $(BUILD_CXX_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -o $@ ../build/dgl/Window.mm.cairo.o: src/Window.cpp src/sofd/* src/pugl/* -@mkdir -p ../build/dgl @echo "Compiling $< (Cairo)" @$(CXX) $< $(BUILD_CXX_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -ObjC++ -c -o $@ # --------------------------------------------------------------------------------------------------------------------- ../build/dgl/%.cpp.opengl.o: src/%.cpp -@mkdir -p ../build/dgl @echo "Compiling $< (OpenGL)" @$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@ ../build/dgl/Window.cpp.opengl.o: src/Window.cpp src/sofd/* src/pugl/* -@mkdir -p ../build/dgl @echo "Compiling $< (OpenGL)" @$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@ ../build/dgl/Window.mm.opengl.o: src/Window.cpp src/sofd/* src/pugl/* -@mkdir -p ../build/dgl @echo "Compiling $< (OpenGL)" @$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -ObjC++ -c -o $@ # --------------------------------------------------------------------------------------------------------------------- clean: rm -rf ../build/dgl ../build/libdgl*.* debug: $(MAKE) DEBUG=true # --------------------------------------------------------------------------------------------------------------------- -include $(OBJS_common:%.o=%.d) -include $(OBJS_cairo:%.o=%.d) -include $(OBJS_opengl:%.o=%.d) # ---------------------------------------------------------------------------------------------------------------------