From: nealcrook Date: Tue, 22 Nov 2016 17:13:23 +0000 (+0000) Subject: Build infrastructure X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=6d70c695bcbab73ba9d61ca851fe5b0d67c24e0e;p=FUZIX.git Build infrastructure --- diff --git a/Applications/BCPL/.gitignore b/Applications/BCPL/.gitignore new file mode 100644 index 00000000..7ea31ca6 --- /dev/null +++ b/Applications/BCPL/.gitignore @@ -0,0 +1,7 @@ +# executables +icint +icintv +# INTCODE bolted together from pre-existing files +b.i +codegen.i +run-time.i diff --git a/Applications/BCPL/Makefile b/Applications/BCPL/Makefile index 05038cf9..283daa84 100644 --- a/Applications/BCPL/Makefile +++ b/Applications/BCPL/Makefile @@ -7,17 +7,43 @@ FCCOPTS = -O2 #--nostdio PLATFORM = SRC = icint.c blib.c -OBJ = $(SRC:.c=.rel) +OBJ = $(SRC:.c=.rel) blibv.o icintv.o .SUFFIXES: .c .rel -all: icint +APPS = icint icintv run-time.i codegen.i b.i + +all: $(APPS) sizes .c.rel: $(FCC) $(PLATFORM) $(FCCOPTS) -c $< -icint: $(OBJ) - $(FCC) $(PLATFORM) $(FCCOPTS) -o $@ $(OBJ) +icintv.rel: icint.v + $(FCC) $(PLATFORM) $(FCCOPTS) -c icint.c + +blibv.rel: blib.c + $(FCC) $(PLATFORM) $(FCCOPTS) -c blib.c + +icint: icint.rel blib.rel + $(FCC) $(PLATFORM) $(FCCOPTS) -o $@ icint.rel blib.rel + +icintv: icintv.rel blibv.rel + $(FCC) $(PLATFORM) $(FCCOPTS) -o $@ icintv.rel blibv.rel + +sizes: $(APPS) + ls -l $(APPS) > size.report + +run-time.i: blib16.i + cat blib16.i iclib.i > run-time.i + +codegen.i: cg.i run-time.i + cat cg.i run-time.i > codegen.i + +b.i: syn.i trn.i run-time.i + cat syn.i trn.i run-time.i > b.i clean: - rm -f icint *.rel *.asm *.lst core *.sym *.map *.noi *.lk *.ihx *.tmp *.bin *~ + rm -f $(OBJS) $(APPS) $(SRCS:.c=) core *~ *.rel *.asm *.lst *.sym *.map *.noi *.lk *.ihx *.tmp *.bin size.report + +rmbak: + rm -f *~ core diff --git a/Applications/BCPL/Makefile.6809 b/Applications/BCPL/Makefile.6809 new file mode 100644 index 00000000..e21f9b04 --- /dev/null +++ b/Applications/BCPL/Makefile.6809 @@ -0,0 +1,60 @@ +# +# IntCode engine +# + +PLATFORM = 6809 +CC = m6809-unknown-gcc +ASM = m6809-unknown-as +AR = m6809-unknown-ar +LINKER = m6809-unknown-ld +CFLAGS = -I../../Library/include -I../../Library/include/6809 +LINKER_OPT = --oformat=raw -L../../Library/libs -lc6809 +LIBGCCDIR = $(dir $(shell $(CC) -print-libgcc-file-name)) +LINKER_OPT += -L$(LIBGCCDIR) -lgcc +LINKER_OPT += --script=../util/$(TARGET).link +ASM_OPT = -o +CRT0 = ../../Library/libs/crt0_6809.o + +.SUFFIXES: .c .o + + +SRCS = icint.c blib.c +OBJS = $(SRCS:.c=.o) blibv.o icintv.o + +APPS = icint icintv run-time.i codegen.i b.i + +all: $(APPS) sizes + +$(OBJS): $(SRCS) + +$(APPS): $(CRT0) + +%: %.o + $(LINKER) -o $@ $(LINKER_OPT) $(CRT0) $< + +icintv.o: icint.c + $(CC) $(CFLAGS) -c -DPAGEDMEM -o icintv.o icint.c + +blibv.o: blib.c + $(CC) $(CFLAGS) -c -DPAGEDMEM -o blibv.o blib.c + +icint: icint.o blib.o + $(LINKER) -o $@ $(LINKER_OPT) $(CRT0) icint.o blib.o + +icintv: icintv.o blibv.o + $(LINKER) -o $@ $(LINKER_OPT) $(CRT0) icintv.o blibv.o + +sizes: $(APPS) + ls -l $(APPS) > size.report + +run-time.i: blib16.i + cat blib16.i iclib.i > run-time.i + +codegen.i: cg.i run-time.i + cat cg.i run-time.i > codegen.i + +b.i: syn.i trn.i run-time.i + cat syn.i trn.i run-time.i > b.i + +clean: + rm -f $(OBJS) $(APPS) $(SRCS:.c=) core *~ *.rel *.asm *.lst *.sym *.map *.noi *.lk *.ihx *.tmp *.bin size.report diff --git a/Applications/BCPL/Makefile.linux b/Applications/BCPL/Makefile.linux new file mode 100644 index 00000000..d032420e --- /dev/null +++ b/Applications/BCPL/Makefile.linux @@ -0,0 +1,50 @@ +# +# IntCode engine +# + +CC = gcc +CFLAGS = + +.SUFFIXES: .c .o + + +SRCS = icint.c blib.c +OBJS = $(SRCS:.c=.o) blibv.o icintv.o + +APPS = icint icintv run-time.i codegen.i b.i + +all: $(APPS) sizes + +$(OBJS): $(SRCS) + +icintv.o: icint.c + $(CC) -c -DPAGEDMEM -o icintv.o icint.c + +blibv.o: blib.c + $(CC) -c -DPAGEDMEM -o blibv.o blib.c + +$(APPS): $(CRT0) + +icint: icint.o blib.o + $(CC) -o $@ icint.o blib.o + +icintv: icintv.o blibv.o + $(CC) -o $@ icintv.o blibv.o + +sizes: $(APPS) + ls -l $(APPS) > size.report + +run-time.i: blib16.i + cat blib16.i iclib.i > run-time.i + +codegen.i: cg.i run-time.i + cat cg.i run-time.i > codegen.i + +b.i: syn.i trn.i run-time.i + cat syn.i trn.i run-time.i > b.i + +clean: + rm -f $(OBJS) $(APPS) $(SRCS:.c=) core *~ *.rel *.asm *.lst *.sym *.map *.noi *.lk *.ihx *.tmp *.bin size.report + +rmbak: + rm -f *~ core