Build infrastructure
authornealcrook <neal@pippaluk.org.uk>
Tue, 22 Nov 2016 17:13:23 +0000 (17:13 +0000)
committernealcrook <neal@pippaluk.org.uk>
Tue, 22 Nov 2016 17:13:23 +0000 (17:13 +0000)
Applications/BCPL/.gitignore [new file with mode: 0644]
Applications/BCPL/Makefile
Applications/BCPL/Makefile.6809 [new file with mode: 0644]
Applications/BCPL/Makefile.linux [new file with mode: 0644]

diff --git a/Applications/BCPL/.gitignore b/Applications/BCPL/.gitignore
new file mode 100644 (file)
index 0000000..7ea31ca
--- /dev/null
@@ -0,0 +1,7 @@
+# executables
+icint
+icintv
+# INTCODE bolted together from pre-existing files
+b.i
+codegen.i
+run-time.i
index 05038cf..283daa8 100644 (file)
@@ -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 (file)
index 0000000..e21f9b0
--- /dev/null
@@ -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 (file)
index 0000000..d032420
--- /dev/null
@@ -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