# HG changeset patch # User Matti Hamalainen # Date 1691056112 -10800 # Node ID 10adf567b6f292d91bc442f7ac3b3ea66db8e5c4 # Parent 6520f00c68e4bd0dbd2e8f33d6750140075de6a2 Rename Makefile.gen to Makefile.common diff -r 6520f00c68e4 -r 10adf567b6f2 Makefile --- a/Makefile Thu Oct 06 05:02:19 2022 +0300 +++ b/Makefile Thu Aug 03 12:48:32 2023 +0300 @@ -17,4 +17,4 @@ TOOL_LDFLAGS ?= -include Makefile.gen +include Makefile.common diff -r 6520f00c68e4 -r 10adf567b6f2 Makefile.common --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Makefile.common Thu Aug 03 12:48:32 2023 +0300 @@ -0,0 +1,108 @@ +### +### Compiler flags +### +ifneq ($(ASAN),) +CXXFLAGS += -fsanitize=address +LDFLAGS += -lasan +else +ifneq ($(TSAN),) +CXXFLAGS += -fsanitize=thread +LDFLAGS += -ltsan +else +CXXFLAGS += -O3 +LDFLAGS += +endif +endif + +CXXFLAGS += -g -W -Wall -std=c++11 +CXXFLAGS += $(SDL_CFLAGS) $(GL_CFLAGS) + + +### +### Tools, paths and directories +### +MKDIR ?= mkdir +MKDIR_P ?= $(MKDIR) -p +BINPATH ?= ./ + + +### +### Main targets and objects +### +BINARIES = gldragon ply2bin + +TARGETS += \ + $(addprefix $(BINPATH),$(addsuffix $(BINEXT),$(BINARIES))) + +NOBUILD_TARGETS += +NOINST_TARGETS += +CLEAN_TARGETS += +DISTCLEAN_TARGETS += + + +### +### Functions and compilation/link commands +### +ifneq ($(V),1) +DO_CMD=/bin/echo -E " $(1) $(2)" && $(3) +else +DO_CMD=/bin/echo -E $(3) && $(3) +endif +DO_MKDIR=if test ! -z "$(1)" -a ! -d "$(1)"; then /bin/echo -E " MKDIR $(1)"; mkdir -p "$(1)"; fi + + +COMPILE_C_OBJ = \ + @$(call DO_MKDIR,$(OBJPATH)) ; \ + $(call DO_CMD,CC,$<,$(CC) $(CFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1)) + +LINK_C_BIN = \ + @$(call DO_MKDIR,$(BINPATH)) ; \ + $(call DO_CMD,LINK,$@,$(CC) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1)) + +COMPILE_CXX_OBJ = \ + @$(call DO_MKDIR,$(OBJPATH)) ; \ + $(call DO_CMD,CXX,$<,$(CXX) $(CXXFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1)) + +LINK_CXX_BIN = \ + @$(call DO_MKDIR,$(BINPATH)) ; \ + $(call DO_CMD,LINK,$@,$(CXX) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1)) + +LINK_STATIC_LIB = \ + @$(call DO_MKDIR,$(OBJPATH)) ; \ + $(call DO_CMD,AR,$@ $(filter %.o,$+),$(AR) cru $@ $(filter %.o,$+)) ; \ + $(call DO_CMD,RANLIB,$@,$(RANLIB) $@) + + +### +### Generic target rules +### +all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS) + + +$(OBJPATH)dmglrender.o: dmglrender.cpp dmglrender.h dmglexts.h + $(call COMPILE_CXX_OBJ,) + +$(OBJPATH)%.o: %.cpp %.h + $(call COMPILE_CXX_OBJ,) + +$(OBJPATH)%.o: %.cpp + $(call COMPILE_CXX_OBJ,) + + +$(BINPATH)gldragon$(BINEXT): $(addprefix $(OBJPATH), gldragon.o dmglrender.o dmscene.o dmply.o dmutil.o) + $(call LINK_CXX_BIN, $(LDFLAGS) $(SDL_LDFLAGS) $(GL_LDFLAGS)) + +$(BINPATH)ply2bin$(BINEXT): $(addprefix $(OBJPATH), ply2bin.o dmscene.o dmply.o dmutil.o) + $(call LINK_CXX_BIN, $(LDFLAGS) $(TOOL_LDFLAGS)) + + +### +### Special targets +### +clean: + -$(RM) $(TARGETS) $(NOINST_TARGETS) $(CLEAN_TARGETS) $(OBJPATH)*.o + +distclean: clean + -$(RM) $(DISTCLEAN_TARGETS) *~ core *.core + +.PHONY: clean distclean all diff -r 6520f00c68e4 -r 10adf567b6f2 Makefile.cross-mingw --- a/Makefile.cross-mingw Thu Oct 06 05:02:19 2022 +0300 +++ b/Makefile.cross-mingw Thu Aug 03 12:48:32 2023 +0300 @@ -49,4 +49,4 @@ LDFLAGS ?= -mconsole TOOL_LDFLAGS ?= -include Makefile.gen +include Makefile.common diff -r 6520f00c68e4 -r 10adf567b6f2 Makefile.gen --- a/Makefile.gen Thu Oct 06 05:02:19 2022 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -### -### Compiler flags -### -ifneq ($(ASAN),) -CXXFLAGS += -fsanitize=address -LDFLAGS += -lasan -else -ifneq ($(TSAN),) -CXXFLAGS += -fsanitize=thread -LDFLAGS += -ltsan -else -CXXFLAGS += -O3 -LDFLAGS += -endif -endif - -CXXFLAGS += -g -W -Wall -std=c++11 -CXXFLAGS += $(SDL_CFLAGS) $(GL_CFLAGS) - - -### -### Tools, paths and directories -### -MKDIR ?= mkdir -MKDIR_P ?= $(MKDIR) -p -BINPATH ?= ./ - - -### -### Main targets and objects -### -BINARIES = gldragon ply2bin - -TARGETS += \ - $(addprefix $(BINPATH),$(addsuffix $(BINEXT),$(BINARIES))) - -NOBUILD_TARGETS += -NOINST_TARGETS += -CLEAN_TARGETS += -DISTCLEAN_TARGETS += - - -### -### Functions and compilation/link commands -### -ifneq ($(V),1) -DO_CMD=/bin/echo -E " $(1) $(2)" && $(3) -else -DO_CMD=/bin/echo -E $(3) && $(3) -endif -DO_MKDIR=if test ! -z "$(1)" -a ! -d "$(1)"; then /bin/echo -E " MKDIR $(1)"; mkdir -p "$(1)"; fi - - -COMPILE_C_OBJ = \ - @$(call DO_MKDIR,$(OBJPATH)) ; \ - $(call DO_CMD,CC,$<,$(CC) $(CFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1)) - -LINK_C_BIN = \ - @$(call DO_MKDIR,$(BINPATH)) ; \ - $(call DO_CMD,LINK,$@,$(CC) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1)) - -COMPILE_CXX_OBJ = \ - @$(call DO_MKDIR,$(OBJPATH)) ; \ - $(call DO_CMD,CXX,$<,$(CXX) $(CXXFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1)) - -LINK_CXX_BIN = \ - @$(call DO_MKDIR,$(BINPATH)) ; \ - $(call DO_CMD,LINK,$@,$(CXX) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1)) - -LINK_STATIC_LIB = \ - @$(call DO_MKDIR,$(OBJPATH)) ; \ - $(call DO_CMD,AR,$@ $(filter %.o,$+),$(AR) cru $@ $(filter %.o,$+)) ; \ - $(call DO_CMD,RANLIB,$@,$(RANLIB) $@) - - -### -### Generic target rules -### -all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS) - - -$(OBJPATH)dmglrender.o: dmglrender.cpp dmglrender.h dmglexts.h - $(call COMPILE_CXX_OBJ,) - -$(OBJPATH)%.o: %.cpp %.h - $(call COMPILE_CXX_OBJ,) - -$(OBJPATH)%.o: %.cpp - $(call COMPILE_CXX_OBJ,) - - -$(BINPATH)gldragon$(BINEXT): $(addprefix $(OBJPATH), gldragon.o dmglrender.o dmscene.o dmply.o dmutil.o) - $(call LINK_CXX_BIN, $(LDFLAGS) $(SDL_LDFLAGS) $(GL_LDFLAGS)) - -$(BINPATH)ply2bin$(BINEXT): $(addprefix $(OBJPATH), ply2bin.o dmscene.o dmply.o dmutil.o) - $(call LINK_CXX_BIN, $(LDFLAGS) $(TOOL_LDFLAGS)) - - -### -### Special targets -### -clean: - -$(RM) $(TARGETS) $(NOINST_TARGETS) $(CLEAN_TARGETS) $(OBJPATH)*.o - -distclean: clean - -$(RM) $(DISTCLEAN_TARGETS) *~ core *.core - -.PHONY: clean distclean all