# HG changeset patch # User Matti Hamalainen # Date 1575557326 -7200 # Node ID d3d7fce567d9cee2fb1c05d61768dfffc29e4408 # Parent b436ecd76fa028f85cdb125efa28dd779edf88d0 Some work on build system improvements/cleanups. diff -r b436ecd76fa0 -r d3d7fce567d9 Makefile.gen --- a/Makefile.gen Thu Dec 05 16:06:20 2019 +0200 +++ b/Makefile.gen Thu Dec 05 16:48:46 2019 +0200 @@ -24,7 +24,7 @@ DM_CFLAGS += -I$(DMLIB_SRC) ifeq ($(EXTRA_CFLAGS),) -EXTRA_CFLAGS=-O3 +EXTRA_CFLAGS=-O3 -flto # -march=corei7 endif @@ -291,12 +291,16 @@ ifneq ($(V),1) -COMPILE_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CC $<" && $(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) -LINK_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CC) -o $@ $(filter %.o %.a,$+) +COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CC $<" && $(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) +COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo " CXX $<" && $(CXX) $(CXXFLAGS) -c -o $@ $< $(DM_CFLAGS) +LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CC) -o $@ $(filter %.o %.a,$+) +LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo " LINK $@" && $(CXX) -o $@ $(filter %.o %.a,$+) LINK_STATIC_LIB = @echo " AR $@" && $(AR) cru $@ $(filter %.o,$+) && $(RANLIB) $@ else -COMPILE_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS)" && $(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) -LINK_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CC) -o $@ $(filter %.o %.a,$+)" && $(CC) -o $@ $(filter %.o %.a,$+) +COMPILE_C_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS)" && $(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) +COMPILE_CXX_OBJ = @if test ! -d $(OBJPATH); then $(MKDIR_P) $(OBJPATH); fi && echo "$(CXX) $(CXXFLAGS) -c -o $@ $< $(DM_CFLAGS)" && $(CXX) $(CXXFLAGS) -c -o $@ $< $(DM_CFLAGS) +LINK_C_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CC) -o $@ $(filter %.o %.a,$+)" && $(CC) -o $@ $(filter %.o %.a,$+) +LINK_CXX_BIN = @if test ! -d $(BINPATH); then $(MKDIR_P) $(BINPATH); fi && echo "$(CXX) -o $@ $(filter %.o %.a,$+)" && $(CXX) -o $@ $(filter %.o %.a,$+) LINK_STATIC_LIB = @echo "$(AR) cru $@ $(filter %.o,$+)" && $(AR) cru $@ $(filter %.o,$+) && echo "$(RANLIB) $@" && $(RANLIB) $@ endif @@ -313,44 +317,45 @@ TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) \ $(TOOL_TARGETS) $(TESTS_TARGETS) -#NONBUILD += +NOBUILD_TARGETS += +NOINST_TARGETS += -all: $(NONBUILD) $(TARGETS) +all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS) ### ### Generic object rules ### $(OBJPATH)%.o: $(DMLIB)tests/%.c $(DMLIB)tests/%.h - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)%.o: $(DMLIB)tests/%.c - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)%.o: $(DMLIB)tools/%.c $(DMLIB)tools/%.h - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)%.o: $(DMLIB)tools/%.c - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)%.o: %.c %.h - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)%.o: %.c - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)%.o: $(MINIJSS)%.c $(MINIJSS)%.h - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)%.o: $(MINIJSS)%.c - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)%.o: $(DMLIB_SRC)%.c $(DMLIB_SRC)%.h - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)%.o: $(DMLIB_SRC)%.c - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) ### @@ -360,49 +365,49 @@ (echo "#include \"jssmix.h\"" && cpp $< $(DM_CFLAGS)) | sed "s/^# .*//g" > $@ $(OBJPATH)dmimage.o: $(DMLIB_SRC)dmimage.c $(DMLIB_SRC)stb_image.c $(DMLIB_SRC)dmimage.h - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)dmresw.o: $(DMLIB_SRC)dmresw.c $(DMLIB_SRC)dmres.h - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)jssmod.o: $(MINIJSS)jssmod.c $(MINIJSS)jssmod.h $(OBJPATH)jss.o - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)jssmix.o: $(MINIJSS)jssmix.c $(MINIJSS)jssmix.h $(OBJPATH)jssmod.o - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)jssplr.o: $(MINIJSS)jssplr.c $(MINIJSS)jssplr.h $(OBJPATH)jssmix.o - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)dmblit.o: $(DMLIB_SRC)dmblit.c $(DMLIB_SRC)dmscaledblit.h $(DMLIB_SRC)dmunscaledblit.h $(DMLIB_SRC)dmblitfunc.h $(DMLIB_SRC)dmlib.h - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)dmline.o: $(DMLIB_SRC)dmline.c $(DMLIB_SRC)dmdrawline.h $(DMLIB_SRC)dmlinefunc.h $(DMLIB_SRC)dmlineclip.h $(DMLIB_SRC)dmlib.h - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)libgfx.o: $(DMLIB)tools/libgfx.c $(DMLIB)tools/libgfx.h $(DMLIB_A) - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)lib64gfx.o: $(DMLIB)tools/lib64gfx.c $(DMLIB)tools/lib64gfx.h $(OBJPATH)libgfx.o - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)lib64util.o: $(DMLIB)tools/lib64util.c $(DMLIB)tools/lib64util.h $(OBJPATH)lib64gfx.o - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)lib64fmts.o: $(DMLIB)tools/lib64fmts.c $(OBJPATH)lib64gfx.o - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)64vw.o: $(DMLIB)tools/64vw.c $(OBJPATH)lib64util.o - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)gfxconv.o: $(DMLIB)tools/gfxconv.c $(OBJPATH)lib64util.o - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(OBJPATH)ppl.o: $(TOOL_SRC)ppl.c $(DMLIB_SRC)setupfont.h \ $(OBJPATH)libgutil.o $(DMLIB_A) - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(DMLIB)assets/SetupFont.dmf: $(DMLIB)assets/SetupFont.fnt $(FONTCONV_DEP) @@ -424,7 +429,7 @@ $(OBJPATH)dmsimple.o: $(addprefix $(DMLIB_SRC), dmsimple.c dmengine.h \ setupmenubar.h setupfont.h setupimage.h dmsimple.c) - $(COMPILE_OBJ) + $(COMPILE_C_OBJ) $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.gen config.mak @@ -435,59 +440,59 @@ ### Tests ### $(TESTS_BINPATH)blittest$(EXEEXT): $(OBJPATH)blittest.o $(DMLIB_A) - $(LINK_BIN) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) -lm + $(LINK_C_BIN) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) -lm $(TESTS_BINPATH)dzlibtest$(EXEEXT): $(OBJPATH)dzlibtest.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS) + $(LINK_C_BIN) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS) $(TESTS_BINPATH)plrtest$(EXEEXT): $(OBJPATH)plrtest.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS) -lm + $(LINK_C_BIN) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS) -lm $(TESTS_BINPATH)%test$(EXEEXT): $(OBJPATH)%test.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) -lm + $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) -lm ### ### Tools ### $(TOOL_BINPATH)fontconv$(EXEEXT): $(OBJPATH)fontconv.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) $(ZLIB_LDFLAGS) -lm + $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) $(ZLIB_LDFLAGS) -lm $(TOOL_BINPATH)data2inc$(EXEEXT): $(OBJPATH)data2inc.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) + $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(TOOL_BINPATH)packed$(EXEEXT): $(OBJPATH)packed.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) + $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) $(TOOL_BINPATH)mod2wav$(EXEEXT): $(OBJPATH)mod2wav.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) -lm + $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) -lm $(TOOL_BINPATH)xm2jss$(EXEEXT): $(OBJPATH)xm2jss.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) + $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) $(TOOL_BINPATH)dumpmod$(EXEEXT): $(OBJPATH)dumpmod.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) + $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) $(TOOL_BINPATH)ppl$(EXEEXT): $(OBJPATH)ppl.o $(OBJPATH)libgutil.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) -lm + $(LINK_C_BIN) $(DM_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) -lm $(TOOL_BINPATH)objlink$(EXEEXT): $(OBJPATH)objlink.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) + $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(TOOL_BINPATH)fanalyze$(EXEEXT): $(OBJPATH)fanalyze.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) + $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(TOOL_BINPATH)gfxconv$(EXEEXT): $(OBJPATH)gfxconv.o $(OBJPATH)lib64gfx.o \ $(OBJPATH)lib64fmts.o $(OBJPATH)lib64util.o $(OBJPATH)libgfx.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) + $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(TOOL_BINPATH)64vw$(EXEEXT): $(OBJPATH)64vw.o $(OBJPATH)lib64gfx.o \ $(OBJPATH)lib64fmts.o $(OBJPATH)lib64util.o $(OBJPATH)libgfx.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) + $(LINK_C_BIN) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) $(TOOL_BINPATH)gentab$(EXEEXT): $(OBJPATH)gentab.o $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) -lm + $(LINK_C_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) -lm ### @@ -495,7 +500,7 @@ ### ifneq ($(DEMO_BIN),) $(BINPATH)$(DEMO_BIN)$(EXEEXT): $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A) - $(LINK_BIN) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(DEMO_LDFLAGS) -lm + $(LINK_C_BIN) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(DEMO_LDFLAGS) -lm endif @@ -530,5 +535,9 @@ ### Special targets ### clean: - -$(RM) $(TARGETS) $(TMPFILES) $(OBJPATH)*.o + -$(RM) $(TARGETS) $(NOINST_TARGETS) $(CLEAN_TARGETS) $(OBJPATH)*.o +distclean: clean + -$(RM) $(DISTCLEAN_TARGETS) *~ core *.core + +.PHONY: clean distclean all