From 4b399e22ca2a7d2a86c09da36c4b148a72b5d32c Mon Sep 17 00:00:00 2001 From: Ryan Blair Date: Mon, 13 Apr 2020 18:43:29 +0000 Subject: [PATCH 1/4] allow swapping C compilers via standard CC variable --- makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/makefile b/makefile index a02a110..6d113a4 100644 --- a/makefile +++ b/makefile @@ -6,19 +6,19 @@ REV=${shell [ -d .hg ] && hg id -n || git rev-parse --short HEAD} em: # normal rm -rf em.o - cc -DREV=\"${REV}\" -DNOTRACE -DFAST -O -Winline em.c -o em + $(CC) -DREV=\"${REV}\" -DNOTRACE -DFAST -O -Winline em.c -o em emwarn: # lots of compiler warnings rm -rf em.o - cc -DREV=\"${REV}\" -DNOTRACE -DFAST -O -Wall -Wextra -pedantic -Wconversion em.c -o em + $(CC) -DREV=\"${REV}\" -DNOTRACE -DFAST -O -Wall -Wextra -pedantic -Wconversion em.c -o em debug: # gdb rm -rf em.o - cc -DREV=\"${REV}\" -DNOTRACE -DFAST -g -O0 em.c -o em + $(CC) -DREV=\"${REV}\" -DNOTRACE -DFAST -g -O0 em.c -o em trace: # tracing rm -rf em.o - cc -DREV=\"${REV}\" -DFAST -O em.c -o em + $(CC) -DREV=\"${REV}\" -DFAST -O em.c -o em # the fixed clock rate build is useful for making problems reproduceable. # @@ -28,4 +28,4 @@ trace: # tracing fixed: # fixed clock rate rm -rf em.o - cc -DREV=\"${REV}\" -DFIXEDCLOCK -DNOIDLE -DFAST -O em.c -o em + $(CC) -DREV=\"${REV}\" -DFIXEDCLOCK -DNOIDLE -DFAST -O em.c -o em From 08e1c7015c5ab5fcf3a5e7d66b538c44daa11c94 Mon Sep 17 00:00:00 2001 From: Ryan Blair Date: Mon, 13 Apr 2020 18:51:50 +0000 Subject: [PATCH 2/4] add clean target, remove extra rm steps --- makefile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/makefile b/makefile index 6d113a4..328c6f9 100644 --- a/makefile +++ b/makefile @@ -5,19 +5,15 @@ REV=${shell [ -d .hg ] && hg id -n || git rev-parse --short HEAD} .PHONY: em emwarn debug trace fixed em: # normal - rm -rf em.o $(CC) -DREV=\"${REV}\" -DNOTRACE -DFAST -O -Winline em.c -o em emwarn: # lots of compiler warnings - rm -rf em.o $(CC) -DREV=\"${REV}\" -DNOTRACE -DFAST -O -Wall -Wextra -pedantic -Wconversion em.c -o em debug: # gdb - rm -rf em.o $(CC) -DREV=\"${REV}\" -DNOTRACE -DFAST -g -O0 em.c -o em trace: # tracing - rm -rf em.o $(CC) -DREV=\"${REV}\" -DFAST -O em.c -o em # the fixed clock rate build is useful for making problems reproduceable. @@ -27,5 +23,7 @@ trace: # tracing # failure, then enable tracing a little before that with -trace fixed: # fixed clock rate - rm -rf em.o $(CC) -DREV=\"${REV}\" -DFIXEDCLOCK -DNOIDLE -DFAST -O em.c -o em + +clean: + rm -f em.o em From 66e3fd6f1a93995c4f5fd0e32f04d271fc2128ee Mon Sep 17 00:00:00 2001 From: Ryan Blair Date: Mon, 13 Apr 2020 18:53:42 +0000 Subject: [PATCH 3/4] remove .PHONY'd 'em' target --- makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/makefile b/makefile index 328c6f9..b39bf38 100644 --- a/makefile +++ b/makefile @@ -2,7 +2,7 @@ REV=${shell [ -d .hg ] && hg id -n || git rev-parse --short HEAD} -.PHONY: em emwarn debug trace fixed +.PHONY: emwarn debug trace fixed em: # normal $(CC) -DREV=\"${REV}\" -DNOTRACE -DFAST -O -Winline em.c -o em From 94afe8c181de910d76465b814a3ffef12950330e Mon Sep 17 00:00:00 2001 From: Ryan Blair Date: Mon, 13 Apr 2020 19:01:06 +0000 Subject: [PATCH 4/4] add dependencies for conditional rebuild --- makefile | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/makefile b/makefile index b39bf38..c55bc00 100644 --- a/makefile +++ b/makefile @@ -2,18 +2,27 @@ REV=${shell [ -d .hg ] && hg id -n || git rev-parse --short HEAD} +em_objs = em.o em +em_deps = \ + em.c regs.h emdev.h ea64v.h ea32i.h fp.h dispatch.h geom.h \ + devpnc.h devamlc.h swap.h + .PHONY: emwarn debug trace fixed -em: # normal +# normal +em: $(em_deps) $(CC) -DREV=\"${REV}\" -DNOTRACE -DFAST -O -Winline em.c -o em -emwarn: # lots of compiler warnings +# lots of compiler warnings +emwarn: $(em_deps) $(CC) -DREV=\"${REV}\" -DNOTRACE -DFAST -O -Wall -Wextra -pedantic -Wconversion em.c -o em -debug: # gdb +# gdb +debug: $(em_deps) $(CC) -DREV=\"${REV}\" -DNOTRACE -DFAST -g -O0 em.c -o em -trace: # tracing +# tracing +trace: $(em_deps) $(CC) -DREV=\"${REV}\" -DFAST -O em.c -o em # the fixed clock rate build is useful for making problems reproduceable. @@ -22,8 +31,9 @@ trace: # tracing # PRIMOS.COMI to get a more consistent instruction count for the # failure, then enable tracing a little before that with -trace -fixed: # fixed clock rate +# fixed clock rate +fixed: $(em_deps) $(CC) -DREV=\"${REV}\" -DFIXEDCLOCK -DNOIDLE -DFAST -O em.c -o em clean: - rm -f em.o em + rm -f $(em_objs)