commit b1ab56147455451330f284bf37d227cd42e97715
parent 7970e948796bc1670bba5c5cad6130d1ddd2d059
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Tue, 29 Nov 2016 13:25:17 +0100
[cc2] Remove dependency in common objects to arch.h
After this change the common objects of cc1 and cc2 does not
depend of the any architecture header, so they can be reused
without any clean.
Diffstat:
30 files changed, 44 insertions(+), 38 deletions(-)
diff --git a/cc1/cc1.h b/cc1/cc1.h
@@ -6,11 +6,6 @@
 
 #define NR_USWITCHES 20
 
-#define TINT        long long
-#define TUINT       unsigned long long
-#define TFLOAT      double
-
-
 /*
  * Definition of enumerations
  */
diff --git a/cc2/Makefile b/cc2/Makefile
@@ -9,20 +9,21 @@ OBJS = main.o parser.o peep.o symbol.o node.o code.o optm.o\
 
 all: cc2
 
+main.o: error.h
+$(OBJS): cc2.h ../inc/sizes.h ../inc/cc.h
+arch/$(ARCH)/code.o: arch/$(ARCH)/arch.h
+arch/$(ARCH)/cgen.o: arch/$(ARCH)/arch.h
+
 error.h: cc2.h
 	rm -f $@; trap 'rm -f $$$$.h' EXIT INT QUIT ;\
 	awk -f generror.awk cc2.h > $$$$.h && mv $$$$.h $@
 
-main.o: error.h
+../lib/libcc.a:
+	cd ../lib && $(MAKE) -e
 
 ../inc/sizes.h:
 	cp ../inc/sizes_$(STD).h $@
 
-$(OBJS): cc2.h ../inc/sizes.h
-
-../lib/libcc.a:
-	cd ../lib && $(MAKE) -e
-
 cc2: $(OBJS) ../lib/libcc.a
 	$(CC) $(SCC_LDFLAGS) $(OBJS) ../lib/libcc.a -o $@
 
diff --git a/cc2/arch/amd64-sysv/arch.h b/cc2/arch/amd64-sysv/arch.h
@@ -1,4 +1 @@
 /* See LICENSE file for copyright and license details. */
-#define TINT    long long
-#define TUINT   unsigned long long
-#define TFLOAT  double
diff --git a/cc2/arch/amd64-sysv/cgen.c b/cc2/arch/amd64-sysv/cgen.c
@@ -1,5 +1,7 @@
 /* See LICENSE file for copyright and license details. */
+
 #include "arch.h"
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 
 Node *
diff --git a/cc2/arch/amd64-sysv/code.c b/cc2/arch/amd64-sysv/code.c
@@ -1,8 +1,10 @@
 /* See LICENSE file for copyright and license details. */
+
 #include <stdio.h>
 #include <stdlib.h>
 
 #include "arch.h"
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 #include "../../../inc/sizes.h"
 
diff --git a/cc2/arch/amd64-sysv/optm.c b/cc2/arch/amd64-sysv/optm.c
@@ -1,5 +1,6 @@
 /* See LICENSE file for copyright and license details. */
-#include "arch.h"
+
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 
 Node *
diff --git a/cc2/arch/amd64-sysv/types.c b/cc2/arch/amd64-sysv/types.c
@@ -1,5 +1,6 @@
 /* See LICENSE file for copyright and license details. */
-#include "arch.h"
+
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 
 
diff --git a/cc2/arch/i386-sysv/arch.h b/cc2/arch/i386-sysv/arch.h
@@ -1,4 +1 @@
 /* See LICENSE file for copyright and license details. */
-#define TINT    long long
-#define TUINT   unsigned long long
-#define TFLOAT  double
diff --git a/cc2/arch/i386-sysv/cgen.c b/cc2/arch/i386-sysv/cgen.c
@@ -1,5 +1,7 @@
 /* See LICENSE file for copyright and license details. */
+
 #include "arch.h"
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 
 Node *
diff --git a/cc2/arch/i386-sysv/code.c b/cc2/arch/i386-sysv/code.c
@@ -3,6 +3,7 @@
 #include <stdlib.h>
 
 #include "arch.h"
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 #include "../../../inc/sizes.h"
 
diff --git a/cc2/arch/i386-sysv/optm.c b/cc2/arch/i386-sysv/optm.c
@@ -1,5 +1,6 @@
 /* See LICENSE file for copyright and license details. */
-#include "arch.h"
+
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 
 Node *
diff --git a/cc2/arch/i386-sysv/types.c b/cc2/arch/i386-sysv/types.c
@@ -1,5 +1,6 @@
 /* See LICENSE file for copyright and license details. */
-#include "arch.h"
+
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 
 
diff --git a/cc2/arch/qbe/arch.h b/cc2/arch/qbe/arch.h
@@ -1,7 +1,4 @@
 /* See LICENSE file for copyright and license details. */
-#define TINT    long long
-#define TUINT   unsigned long long
-#define TFLOAT  double
 
 enum asmop {
 	ASNOP = 0,
diff --git a/cc2/arch/qbe/cgen.c b/cc2/arch/qbe/cgen.c
@@ -1,8 +1,10 @@
 /* See LICENSE file for copyright and license details. */
+
 #include <assert.h>
 #include <stdlib.h>
 
 #include "arch.h"
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 #include "../../../inc/sizes.h"
 
diff --git a/cc2/arch/qbe/code.c b/cc2/arch/qbe/code.c
@@ -1,9 +1,11 @@
 /* See LICENSE file for copyright and license details. */
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
 #include "arch.h"
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 #include "../../../inc/sizes.h"
 
diff --git a/cc2/arch/qbe/optm.c b/cc2/arch/qbe/optm.c
@@ -1,7 +1,8 @@
 /* See LICENSE file for copyright and license details. */
+
 #include <stddef.h>
 
-#include "arch.h"
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 
 Node *
diff --git a/cc2/arch/qbe/types.c b/cc2/arch/qbe/types.c
@@ -1,5 +1,6 @@
 /* See LICENSE file for copyright and license details. */
-#include "arch.h"
+
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 
 
diff --git a/cc2/arch/z80/arch.h b/cc2/arch/z80/arch.h
@@ -1,4 +1 @@
 /* See LICENSE file for copyright and license details. */
-#define TINT    long long
-#define TUINT   unsigned long long
-#define TFLOAT  double
diff --git a/cc2/arch/z80/cgen.c b/cc2/arch/z80/cgen.c
@@ -1,5 +1,7 @@
 /* See LICENSE file for copyright and license details. */
+
 #include "arch.h"
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 
 Node *
diff --git a/cc2/arch/z80/code.c b/cc2/arch/z80/code.c
@@ -1,8 +1,10 @@
 /* See LICENSE file for copyright and license details. */
+
 #include <stdio.h>
 #include <stdlib.h>
 
 #include "arch.h"
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 #include "../../../inc/sizes.h"
 
diff --git a/cc2/arch/z80/optm.c b/cc2/arch/z80/optm.c
@@ -1,5 +1,6 @@
 /* See LICENSE file for copyright and license details. */
-#include "arch.h"
+
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 
 Node *
diff --git a/cc2/arch/z80/types.c b/cc2/arch/z80/types.c
@@ -1,5 +1,6 @@
 /* See LICENSE file for copyright and license details. */
-#include "arch.h"
+
+#include "../../../inc/cc.h"
 #include "../../cc2.h"
 
 
diff --git a/cc2/code.c b/cc2/code.c
@@ -3,7 +3,6 @@
 #include <string.h>
 
 #include "../inc/cc.h"
-#include "arch.h"
 #include "cc2.h"
 
 Inst *pc, *prog;
diff --git a/cc2/main.c b/cc2/main.c
@@ -4,7 +4,6 @@
 #include <stdlib.h>
 
 #include "../inc/cc.h"
-#include "arch.h"
 #include "cc2.h"
 #include "error.h"
 
diff --git a/cc2/node.c b/cc2/node.c
@@ -4,7 +4,6 @@
 
 #include "../inc/cc.h"
 
-#include "arch.h"
 #include "cc2.h"
 
 #define NNODES   32
diff --git a/cc2/optm.c b/cc2/optm.c
@@ -1,5 +1,5 @@
 
-#include "arch.h"
+#include "../inc/cc.h"
 #include "cc2.h"
 
 Node *
diff --git a/cc2/parser.c b/cc2/parser.c
@@ -7,7 +7,6 @@
 #include "../inc/cc.h"
 #include "../inc/sizes.h"
 
-#include "arch.h"
 #include "cc2.h"
 
 #define MAXLINE     200
diff --git a/cc2/peep.c b/cc2/peep.c
@@ -1,5 +1,5 @@
 /* See LICENSE file for copyright and license details. */
-#include "arch.h"
+#include "../inc/cc.h"
 #include "cc2.h"
 
 void
diff --git a/cc2/symbol.c b/cc2/symbol.c
@@ -6,7 +6,6 @@
 
 #include "../inc/cc.h"
 
-#include "arch.h"
 #include "cc2.h"
 
 #define NR_SYMHASH  64
diff --git a/inc/cc.h b/inc/cc.h
@@ -14,6 +14,10 @@ extern int debug;
 #define PREFIX "/usr/local/"
 #endif
 
+#define TINT        long long
+#define TUINT       unsigned long long
+#define TFLOAT      double
+
 struct items {
 	char **s;
 	unsigned n;