changeset 2552:fdea5e3d727f

Use Makefile macros to simplify some of the rules.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 26 Feb 2022 00:58:59 +0200
parents 72513168d94e
children 5c714feeb3a7
files Makefile.gen
diffstat 1 files changed, 31 insertions(+), 40 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.gen	Fri Feb 25 15:36:53 2022 +0200
+++ b/Makefile.gen	Sat Feb 26 00:58:59 2022 +0200
@@ -465,57 +465,48 @@
 ###
 ### Tests
 ###
-$(TESTS_BINPATH)blittest$(BINEXT): $(OBJPATH)blittest.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) -lm)
-
-$(TESTS_BINPATH)dzlibtest$(BINEXT): $(OBJPATH)dzlibtest.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS))
+define RULE_TESTS_BIN
+$$(TESTS_BINPATH)$(1)$$(BINEXT): $$(OBJPATH)$(1).o $(2) $$(DMLIB_A)
+	$$(call LINK_C_BIN,$$(DM_LDFLAGS) $$(SDL_LDFLAGS) $(3))
 
-$(TESTS_BINPATH)plrtest$(BINEXT): $(OBJPATH)plrtest.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(SDL_LDFLAGS) $(ZLIB_LDFLAGS) -lm)
+endef
 
-$(TESTS_BINPATH)%test$(BINEXT): $(OBJPATH)%test.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) -lm)
+$(eval $(call RULE_TESTS_BIN,blittest,,$$(SDL_TTF_LDFLAGS) -lm))
+$(eval $(call RULE_TESTS_BIN,dzlibtest,,$$(ZLIB_LDFLAGS)))
+$(eval $(call RULE_TESTS_BIN,plrtest,,$$(ZLIB_LDFLAGS) -lm))
+$(eval $(call RULE_TESTS_BIN,%test,,$$(TOOL_LDFLAGS) -lm))
 
 
 ###
 ### Tools
 ###
-$(TOOL_BINPATH)fontconv$(BINEXT): $(OBJPATH)fontconv.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(SDL_LDFLAGS) $(SDL_TTF_LDFLAGS) $(ZLIB_LDFLAGS) -lm)
-
-$(TOOL_BINPATH)data2inc$(BINEXT): $(OBJPATH)data2inc.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS))
-
-$(TOOL_BINPATH)packed$(BINEXT): $(OBJPATH)packed.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS))
+define RULE_TOOL_BIN
+$$(TOOL_BINPATH)$(1)$$(BINEXT): $$(OBJPATH)$(1).o $(2) $$(DMLIB_A)
+	$$(call LINK_C_BIN, $$(DM_LDFLAGS) $$(TOOL_LDFLAGS) $(3))
 
-$(TOOL_BINPATH)mod2wav$(BINEXT): $(OBJPATH)mod2wav.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS) -lm)
-
-$(TOOL_BINPATH)xm2jss$(BINEXT): $(OBJPATH)xm2jss.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS))
-
-$(TOOL_BINPATH)dumpmod$(BINEXT): $(OBJPATH)dumpmod.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(ZLIB_LDFLAGS))
+endef
 
-
-$(TOOL_BINPATH)ppl$(BINEXT): $(OBJPATH)ppl.o $(OBJPATH)libgutil.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) -lm)
-
-$(TOOL_BINPATH)objlink$(BINEXT): $(OBJPATH)objlink.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS))
+$(eval $(call RULE_TOOL_BIN,fontconv,,\
+	$$(SDL_LDFLAGS) $$(SDL_TTF_LDFLAGS) $$(ZLIB_LDFLAGS) -lm))
+$(eval $(call RULE_TOOL_BIN,data2inc,,))
+$(eval $(call RULE_TOOL_BIN,packed,,$(ZLIB_LDFLAGS)))
+$(eval $(call RULE_TOOL_BIN,mod2wav,,$(ZLIB_LDFLAGS) -lm))
+$(eval $(call RULE_TOOL_BIN,xm2jss,,$(ZLIB_LDFLAGS)))
+$(eval $(call RULE_TOOL_BIN,dumpmod,,$(ZLIB_LDFLAGS)))
+$(eval $(call RULE_TOOL_BIN,ppl,\
+	$$(OBJPATH)libgutil.o,$$(ZLIB_LDFLAGS) $$(SDL_LDFLAGS) -lm))
+$(eval $(call RULE_TOOL_BIN,objlink,,))
+$(eval $(call RULE_TOOL_BIN,fanalyze,,))
 
-$(TOOL_BINPATH)fanalyze$(BINEXT): $(OBJPATH)fanalyze.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS))
+$(eval $(call RULE_TOOL_BIN,gfxconv,\
+	$$(OBJPATH)lib64gfx.o $$(OBJPATH)lib64fmts.o \
+	$$(OBJPATH)lib64util.o $$(OBJPATH)libgfx.o,\
+	$$(LIBPNG_LDFLAGS) $$(ZLIB_LDFLAGS)))
 
-$(TOOL_BINPATH)gfxconv$(BINEXT): $(OBJPATH)gfxconv.o $(OBJPATH)lib64gfx.o \
-	$(OBJPATH)lib64fmts.o $(OBJPATH)lib64util.o $(OBJPATH)libgfx.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(TOOL_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS))
-
-$(TOOL_BINPATH)64vw$(BINEXT): $(OBJPATH)64vw.o $(OBJPATH)lib64gfx.o \
-	$(OBJPATH)lib64fmts.o $(OBJPATH)lib64util.o $(OBJPATH)libgfx.o $(DMLIB_A)
-	$(call LINK_C_BIN, $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS))
+$(eval $(call RULE_TOOL_BIN,64vw,\
+	$$(OBJPATH)lib64gfx.o $$(OBJPATH)lib64fmts.o \
+	$$(OBJPATH)lib64util.o $$(OBJPATH)libgfx.o,\
+	$$(LIBPNG_LDFLAGS) $$(ZLIB_LDFLAGS) $$(SDL_LDFLAGS)))
 
 
 ###