From 4419d0de21ab85580a0cd8114bbc91ac54842491 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Thu, 16 Mar 2023 19:23:25 +0100 Subject: [PATCH] Static and dynamic builds. --- Makefile | 77 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 39 insertions(+), 38 deletions(-) diff --git a/Makefile b/Makefile index b1fe927..ffdb8e8 100644 --- a/Makefile +++ b/Makefile @@ -28,19 +28,29 @@ all: brmsaptool brmsaptool-static CSC=csc -BRMSAPTOOL-OBJS=brmsaptool.o testing.o listing.o month.o period.o \ - ansi.o member-file.o dictionary.o command-line.o \ +BRMSAPTOOL-DEPS=brmsaptool.scm testing.import.scm \ + listing.import.scm dictionary.import.scm month.import.scm \ + period.import.scm ansi.import.scm member-file.import.scm \ + command-line.import.scm members-base.import.scm \ + utils.import.scm + +BRMSAPTOOL-SOURCES=brmsaptool.scm testing.scm listing.scm \ + dictionary.scm month.scm period.scm ansi.scm member-file.scm \ + command-line.scm members-base.scm utils.scm + +BRMSAPTOOL-OBJS=testing.o listing.o month.o period.o ansi.o \ + member-file.o dictionary.o command-line.o \ members-base.o utils.o -BRMSAPTOOL-SHARED=brmsaptool.so testing.so listing.so month.so \ - period.so ansi.so member-file.so dictionary.so \ - command-line.so members-base.so utils.so +BRMSAPTOOL-SHARED=testing.so listing.so month.so period.so ansi.so \ + member-file.so dictionary.so command-line.so \ + members-base.so utils.so -brmsaptool: $(BRMSAPTOOL-OBJS) $(BRMSAPTOOL-SHARED) - $(CSC) -o $@ $(BRMSAPTOOL-OBJS) +brmsaptool: $(BRMSAPTOOL-DEPS) + $(CSC) -o $@ $< -brmsaptool-static: brmsaptool.scm $(BRMSAPTOOL-OBJS) - $(CSC) -static -o $@ $< +brmsaptool-static: $(BRMSAPTOOL-OBJS) + $(CSC) -static -k -o $@ $(BRMSAPTOOL-SOURCES) .PHONY: clean clean: @@ -61,74 +71,65 @@ clean: ################################################################ # Modules -BRMSAPTOOL-SOURCES=brmsaptool.scm testing.import.scm \ - listing.import.scm dictionary.import.scm month.import.scm \ - period.import.scm ansi.import.scm member-file.import.scm \ - command-line.import.scm members-base.import.scm \ - utils.import.scm - -brmsaptool.so: $(BRMSAPTOOL-SOURCES) -brmsaptool.o: $(BRMSAPTOOL-SOURCES) brmsaptool.so - TESTING-SOURCES=testing.scm testing.so: $(TESTING-SOURCES) -testing.o: $(TESTING-SOURCES) testing.so -testing.import.scm: $(TESTING-SOURCES) +testing.o: testing.import.scm +testing.import.scm: testing.so LISTING-SOURCES=listing.scm testing.import.scm listing.so: $(LISTING-SOURCES) -listing.o: $(LISTING-SOURCES) listing.so -listing.import.scm: $(LISTING-SOURCES) +listing.o: listing.import.scm +listing.import.scm: listing.so DICTIONARY-SOURCES=dictionary.scm testing.import.scm dictionary.so: $(DICTIONARY-SOURCES) -dictionary.o: $(DICTIONARY-SOURCES) dictionary.so -dictionary.import.scm: $(DICTIONARY-SOURCES) +dictionary.o: dictionary.import.scm +dictionary.import.scm: dictionary.so MONTH-SOURCES=month.scm testing.import.scm month.so: $(MONTH-SOURCES) -month.o: $(MONTH-SOURCES) month.so -month.import.scm: $(MONTH-SOURCES) +month.o: month.import.scm +month.import.scm: month.so PERIOD-SOURCES=period.scm testing.import.scm month.import.scm period.so: $(PERIOD-SOURCES) -period.o: $(PERIOD-SOURCES) period.so -period.import.scm: $(PERIOD-SOURCES) +period.o: period.import.scm +period.import.scm: period.so ANSI-SOURCES=ansi.scm testing.import.scm utils.import.scm ansi.so: $(ANSI-SOURCES) -ansi.o: $(ANSI-SOURCES) ansi.so -ansi.import.scm: $(ANSI-SOURCES) +ansi.o: ansi.import.scm +ansi.import.scm: ansi.so MEMBER-FILE-SOURCES=member-file.scm dictionary.import.scm \ ansi.import.scm month.import.scm period.import.scm \ listing.import.scm testing.import.scm member-file.so: $(MEMBER-FILE-SOURCES) -member-file.o: $(MEMBER-FILE-SOURCES) member-file.so -member-file.import.scm: $(MEMBER-FILE-SOURCES) +member-file.o: member-file.import.scm +member-file.import.scm: member-file.so COMMAND-LINE-SOURCES=command-line.scm testing.import.scm command-line.so: $(COMMAND-LINE-SOURCES) -command-line.o: $(COMMAND-LINE-SOURCES) command-line.so -command-line.import.scm: $(COMMAND-LINE-SOURCES) +command-line.o: command-line.import.scm +command-line.import.scm: command-line.so MEMBERS-BASE-SOURCES=members-base.scm testing.import.scm \ utils.import.scm dictionary.import.scm member-file.import.scm members-base.so: $(MEMBERS-BASE-SOURCES) -members-base.o: $(MEMBERS-BASE-SOURCES) members-base.so -members-base.import.scm: $(MEMBERS-BASE-SOURCES) +members-base.o: members-base.import.scm +members-base.import.scm: members-base.so UTILS-SOURCES=utils.scm testing.import.scm utils.so: $(UTILS-SOURCES) -utils.o: $(UTILS-SOURCES) utils.so -utils.import.scm: $(UTILS-SOURCES) +utils.o: utils.import.scm +utils.import.scm: utils.so