Finish the build infrastructure for separate linking.

This commit is contained in:
Dominik Pantůček 2023-03-14 14:50:10 +01:00
parent a700e483db
commit 3697f5169d
12 changed files with 77 additions and 22 deletions

View file

@ -23,43 +23,48 @@
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
brmsaptool: brmsaptool.o testing.o listing.o month.o period.o ansi.o \
member-file.o dictionary.o command-line.o
csc -o brmsaptool $^
.PHONY: all
all: testing.so testing.import.scm listing.so listing.import.scm \
month.so month.import.scm period.so period.import.scm \
ansi.so ansi.import.scm member-file.so \
member-file.import.scm dictionary.so \
dictionary.import.scm
.PHONY: clean
clean:
rm -f *.o *.import.scm brmsaptool
################################################################
# Module shared object and import source compilation
%.so: %.scm
csc -s $<
%.o: %.scm
csc -c $<
%.import.scm: %.scm
csc -J $<
csc -c -J $<
################################################################
# Modules
testing.so: testing.scm
testing.o: testing.scm
testing.import.scm: testing.scm
listing.so: listing.scm
listing.import.scm: listing.scm
listing.o: listing.scm testing.import.scm
listing.import.scm: listing.scm testing.import.scm
dictionary.so: dictionary.scm
dictionary.import.scm: dictionary.scm
dictionary.o: dictionary.scm testing.import.scm
dictionary.import.scm: dictionary.scm testing.import.scm
month.so: month.scm
month.import.scm: month.scm
month.o: month.scm testing.import.scm
month.import.scm: month.scm testing.import.scm
period.so: period.scm
period.import.scm: period.scm
period.o: period.scm testing.import.scm month.import.scm
period.import.scm: period.scm testing.import.scm month.import.scm
ansi.so: ansi.scm
ansi.import.scm: ansi.scm
ansi.o: ansi.scm testing.import.scm
ansi.import.scm: ansi.scm testing.import.scm
member-file.so: member-file.scm dictionary.import.scm ansi.import.scm
member-file.import.scm: member-file.scm dictionary.import.scm ansi.import.scm
member-file.o: member-file.scm dictionary.import.scm ansi.import.scm month.import.scm period.import.scm listing.import.scm testing.import.scm
member-file.import.scm: member-file.scm dictionary.import.scm ansi.import.scm month.import.scm period.import.scm listing.import.scm testing.import.scm
command-line.o: command-line.scm testing.import.scm
command-line.import.scm: command-line.scm testing.import.scm
brmsaptool.o: 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