# HG changeset patch # User Matti Hamalainen # Date 1530475755 -10800 # Node ID 34f39707833483c1ef342426fb8334c4fd861dce # Parent 7190f4fbc0ddaa679de094c362f631daa90758f2 Clean up the build process a bit. diff -r 7190f4fbc0dd -r 34f397078334 Makefile.gen --- a/Makefile.gen Sun Jul 01 23:07:33 2018 +0300 +++ b/Makefile.gen Sun Jul 01 23:09:15 2018 +0300 @@ -276,6 +276,9 @@ DM_LDFLAGS += $(LDFLAGS) +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,$+) + DMLIB_A=$(OBJPATH)dmlib.a DMLIB_OBJS += \ dmfile.o dmlib.o dmcurves.o dmstring.o \ @@ -288,111 +291,79 @@ TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) \ $(TOOL_TARGETS) $(TESTS_TARGETS) -NONBUILD += $(OBJPATH) $(BINPATH) +#NONBUILD += all: $(NONBUILD) $(TARGETS) ### -### Generic rules +### Generic object rules ### -$(OBJPATH): - $(MKDIR_P) $@ - -$(BINPATH): - $(MKDIR_P) $@ - - -$(OBJPATH)%.o: $(MINIJSS)%.c $(MINIJSS)%.h - @echo " CC $<" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) - -$(OBJPATH)%.o: $(MINIJSS)%.c - @echo " CC $<" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) - - $(OBJPATH)%.o: $(DMLIB)tests/%.c $(DMLIB)tests/%.h - @echo " CC $<" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(OBJPATH)%.o: $(DMLIB)tests/%.c - @echo " CC $<" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) - + $(COMPILE_OBJ) $(OBJPATH)%.o: $(DMLIB)tools/%.c $(DMLIB)tools/%.h - @echo " CC $<" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(OBJPATH)%.o: $(DMLIB)tools/%.c - @echo " CC $<" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) + +$(OBJPATH)%.o: %.c %.h + $(COMPILE_OBJ) +$(OBJPATH)%.o: %.c + $(COMPILE_OBJ) +$(OBJPATH)%.o: $(MINIJSS)%.c $(MINIJSS)%.h + $(COMPILE_OBJ) + +$(OBJPATH)%.o: $(MINIJSS)%.c + $(COMPILE_OBJ) $(OBJPATH)%.o: $(DMLIB_SRC)%.c $(DMLIB_SRC)%.h - @echo " CC $<" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(OBJPATH)%.o: $(DMLIB_SRC)%.c - @echo " CC $<" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) - - -$(OBJPATH)%.o: %.c %.h - @echo " CC $<" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) - -$(OBJPATH)%.o: %.c - @echo " CC $<" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) ### -### dmlib rules +### dmlib-specific rules ### - $(MINIJSS)jmix_c.c: $(MINIJSS)jmix_c_in.c $(MINIJSS)jmixtmpl_c.h $(MINIJSS)jmix_post_c.h (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 - @echo " CC $+" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(OBJPATH)dmresw.o: $(DMLIB_SRC)dmresw.c $(DMLIB_SRC)dmres.h - @echo " CC $+" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(OBJPATH)jssmod.o: $(MINIJSS)jssmod.c $(MINIJSS)jssmod.h $(MINIJSS)jss.h - @echo " CC $+" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(OBJPATH)jssplr.o: $(MINIJSS)jssplr.c $(MINIJSS)jssplr.h $(MINIJSS)jss.h $(MINIJSS)jssmod.h $(MINIJSS)jssmix.h - @echo " CC $+" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(OBJPATH)jssmix.o: $(MINIJSS)jssmix.c $(MINIJSS)jssmix.h $(MINIJSS)jss.h - @echo " CC $+" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(OBJPATH)dmblit.o: $(DMLIB_SRC)dmblit.c $(DMLIB_SRC)dmscaledblit.h $(DMLIB_SRC)dmunscaledblit.h $(DMLIB_SRC)dmblitfunc.h $(DMLIB_SRC)dmlib.h - @echo " CC $+" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(OBJPATH)dmline.o: $(DMLIB_SRC)dmline.c $(DMLIB_SRC)dmdrawline.h $(DMLIB_SRC)dmlinefunc.h $(DMLIB_SRC)dmlineclip.h $(DMLIB_SRC)dmlib.h - @echo " CC $+" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(OBJPATH)libgfx.o: $(DMLIB)tools/libgfx.c $(DMLIB)tools/libgfx.h - @echo " CC $+" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) $(LIBPNG_CFLAGS) + $(COMPILE_OBJ) $(OBJPATH)lib64fmts.o: $(DMLIB)tools/lib64fmts.c $(DMLIB)tools/lib64gfx.h - @echo " CC $+" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(DMLIB)assets/SetupFont.dmf: $(DMLIB)assets/SetupFont.fnt @@ -411,8 +382,7 @@ $(OBJPATH)dmsimple.o: $(DMLIB_SRC)dmsimple.c $(DMLIB_SRC)dmengine.h \ $(DMLIB_SRC)setupmenubar.h $(DMLIB_SRC)setupfont.h \ $(DMLIB_SRC)setupimage.h $(DMLIB_SRC)dmsimple.c - @echo " CC $+" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.gen config.mak @@ -425,76 +395,59 @@ ### Tests ### $(TESTS_BINPATH)blittest$(EXEEXT): $(OBJPATH)blittest.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) -lm + $(LINK_BIN) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) -lm $(TESTS_BINPATH)dzlibtest$(EXEEXT): $(OBJPATH)dzlibtest.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS) + $(LINK_BIN) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS) $(TESTS_BINPATH)plrtest$(EXEEXT): $(OBJPATH)plrtest.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS) -lm + $(LINK_BIN) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS) -lm $(TESTS_BINPATH)%test$(EXEEXT): $(OBJPATH)%test.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(TOOL_LDFLAGS) -lm + $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) -lm ### ### Tools ### $(TOOL_BINPATH)fontconv$(EXEEXT): $(OBJPATH)fontconv.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) $(ZLIB_LDFLAGS) -lm + $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) $(ZLIB_LDFLAGS) -lm $(TOOL_BINPATH)data2inc$(EXEEXT): $(OBJPATH)data2inc.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(TOOL_LDFLAGS) + $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(TOOL_BINPATH)packed$(EXEEXT): $(OBJPATH)packed.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) + $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) $(TOOL_BINPATH)mod2wav$(EXEEXT): $(OBJPATH)mod2wav.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) -lm + $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) -lm $(TOOL_BINPATH)xm2jss$(EXEEXT): $(OBJPATH)xm2jss.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) + $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) $(TOOL_BINPATH)dumpmod$(EXEEXT): $(OBJPATH)dumpmod.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) + $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) $(OBJPATH)ppl.o: $(TOOL_SRC)ppl.c $(MINIJSS)jssplr.h $(MINIJSS)jss.h $(MINIJSS)jssmod.h $(MINIJSS)jssmix.h $(DMLIB_SRC)setupfont.h - @echo " CC $+" - @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) + $(COMPILE_OBJ) $(TOOL_BINPATH)ppl$(EXEEXT): $(OBJPATH)ppl.o $(OBJPATH)libgutil.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) -lm + $(LINK_BIN) $(DM_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) -lm $(TOOL_BINPATH)objlink$(EXEEXT): $(OBJPATH)objlink.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(TOOL_LDFLAGS) + $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(TOOL_BINPATH)fanalyze$(EXEEXT): $(OBJPATH)fanalyze.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(TOOL_LDFLAGS) + $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(TOOL_BINPATH)gfxconv$(EXEEXT): $(OBJPATH)gfxconv.o $(OBJPATH)lib64gfx.o $(OBJPATH)lib64fmts.o $(OBJPATH)libgfx.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) + $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(TOOL_BINPATH)64vw$(EXEEXT): $(OBJPATH)64vw.o $(OBJPATH)lib64gfx.o $(OBJPATH)lib64fmts.o $(OBJPATH)libgfx.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) + $(LINK_BIN) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) $(TOOL_BINPATH)gentab$(EXEEXT): $(OBJPATH)gentab.o $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(TOOL_LDFLAGS) -lm + $(LINK_BIN) $(DM_LDFLAGS) $(TOOL_LDFLAGS) -lm ### @@ -502,8 +455,7 @@ ### ifneq ($(DEMO_BIN),) $(BINPATH)$(DEMO_BIN)$(EXEEXT): $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A) - @echo " LINK $+" - @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(DEMO_LDFLAGS) -lm + $(LINK_BIN) $(DM_LDFLAGS) $(SDL_LDFLAGS) $(DEMO_LDFLAGS) -lm endif