# Alternative GNU Make project makefile autogenerated by Premake ifndef config config=debug endif ifndef verbose SILENT = @ endif .PHONY: clean prebuild SHELLTYPE := posix ifeq (.exe,$(findstring .exe,$(ComSpec))) SHELLTYPE := msdos endif # Configurations # ############################################# RESCOMP = windres INCLUDES += -Iinclude -Iinclude/gearlib FORCE_INCLUDE += ALL_CPPFLAGS += $(CPPFLAGS) -MD -MP $(DEFINES) $(INCLUDES) ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) LIBS += -lglfw -lm LDDEPS += LINKCMD = $(AR) -rcs "$@" $(OBJECTS) define PREBUILDCMDS endef define PRELINKCMDS endef define POSTBUILDCMDS endef ifeq ($(config),debug) TARGETDIR = bin/Debug/gearlib TARGET = $(TARGETDIR)/libgearlib.a OBJDIR = obj/Debug/gearlib DEFINES += -DDEBUG ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -g ALL_LDFLAGS += $(LDFLAGS) else ifeq ($(config),release) TARGETDIR = bin/Release/gearlib TARGET = $(TARGETDIR)/libgearlib.a OBJDIR = obj/Release/gearlib DEFINES += -DNDEBUG ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O2 ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -O2 ALL_LDFLAGS += $(LDFLAGS) -s endif # Per File Configurations # ############################################# # File sets # ############################################# GENERATED := OBJECTS := GENERATED += $(OBJDIR)/batch.o GENERATED += $(OBJDIR)/camera.o GENERATED += $(OBJDIR)/debugging.o GENERATED += $(OBJDIR)/events.o GENERATED += $(OBJDIR)/gl.o GENERATED += $(OBJDIR)/implementations.o GENERATED += $(OBJDIR)/init.o GENERATED += $(OBJDIR)/quad.o GENERATED += $(OBJDIR)/renderer.o GENERATED += $(OBJDIR)/shaders.o GENERATED += $(OBJDIR)/textures.o GENERATED += $(OBJDIR)/uniform_buffer.o OBJECTS += $(OBJDIR)/batch.o OBJECTS += $(OBJDIR)/camera.o OBJECTS += $(OBJDIR)/debugging.o OBJECTS += $(OBJDIR)/events.o OBJECTS += $(OBJDIR)/gl.o OBJECTS += $(OBJDIR)/implementations.o OBJECTS += $(OBJDIR)/init.o OBJECTS += $(OBJDIR)/quad.o OBJECTS += $(OBJDIR)/renderer.o OBJECTS += $(OBJDIR)/shaders.o OBJECTS += $(OBJDIR)/textures.o OBJECTS += $(OBJDIR)/uniform_buffer.o # Rules # ############################################# all: $(TARGET) @: $(TARGET): $(GENERATED) $(OBJECTS) $(LDDEPS) | $(TARGETDIR) $(PRELINKCMDS) @echo Linking gearlib $(SILENT) $(LINKCMD) $(POSTBUILDCMDS) $(TARGETDIR): @echo Creating $(TARGETDIR) ifeq (posix,$(SHELLTYPE)) $(SILENT) mkdir -p $(TARGETDIR) else $(SILENT) mkdir $(subst /,\\,$(TARGETDIR)) endif $(OBJDIR): @echo Creating $(OBJDIR) ifeq (posix,$(SHELLTYPE)) $(SILENT) mkdir -p $(OBJDIR) else $(SILENT) mkdir $(subst /,\\,$(OBJDIR)) endif clean: @echo Cleaning gearlib ifeq (posix,$(SHELLTYPE)) $(SILENT) rm -f $(TARGET) $(SILENT) rm -rf $(GENERATED) $(SILENT) rm -rf $(OBJDIR) else $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET)) $(SILENT) if exist $(subst /,\\,$(GENERATED)) del /s /q $(subst /,\\,$(GENERATED)) $(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR)) endif prebuild: | $(OBJDIR) $(PREBUILDCMDS) ifneq (,$(PCH)) $(OBJECTS): $(GCH) | $(PCH_PLACEHOLDER) $(GCH): $(PCH) | prebuild @echo $(notdir $<) $(SILENT) $(CC) -x c-header $(ALL_CFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<" $(PCH_PLACEHOLDER): $(GCH) | $(OBJDIR) ifeq (posix,$(SHELLTYPE)) $(SILENT) touch "$@" else $(SILENT) echo $null >> "$@" endif else $(OBJECTS): | prebuild endif # File Rules # ############################################# $(OBJDIR)/batch.o: src/batch.c @echo "$(notdir $<)" $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/camera.o: src/camera.c @echo "$(notdir $<)" $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/debugging.o: src/debugging.c @echo "$(notdir $<)" $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/events.o: src/events.c @echo "$(notdir $<)" $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/gl.o: src/gl.c @echo "$(notdir $<)" $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/implementations.o: src/implementations.c @echo "$(notdir $<)" $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/init.o: src/init.c @echo "$(notdir $<)" $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/quad.o: src/quad.c @echo "$(notdir $<)" $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/renderer.o: src/renderer.c @echo "$(notdir $<)" $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/shaders.o: src/shaders.c @echo "$(notdir $<)" $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/textures.o: src/textures.c @echo "$(notdir $<)" $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" $(OBJDIR)/uniform_buffer.o: src/uniform_buffer.c @echo "$(notdir $<)" $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -include $(OBJECTS:%.o=%.d) ifneq (,$(PCH)) -include $(PCH_PLACEHOLDER).d endif