diff options
-rw-r--r-- | Makefile | 8 | ||||
-rwxr-xr-x | defs2d.awk | 16 |
2 files changed, 23 insertions, 1 deletions
@@ -5,7 +5,12 @@ include config.mk CFLAGS=-g -I$(INCLUDEDIR) -nostdinc -fno-builtin LDFLAGS=-L$(LIBDIR) $(LIBS) -TESTOBJS=main.o test.o assert.o ctype.o locale.o errno.o time.o +TESTOBJS=main.o test.o assert.o ctype.o locale.o errno.o time.o signal.o + +.SUFFIXES: .defs .d + +.defs.d: + awk -f defs2d.awk $< > $@ testlibc: $(TESTOBJS) $(LIBDIR)/libc.a $(CC) -o $@ $(TESTOBJS) $(LDFLAGS) @@ -15,6 +20,7 @@ ctype.o: ctype.c test.h locale.o: locale.c test.h errno.o: errno.c test.h time.o: time.c test.h +signal.o: signal.c signal.d test.o: test.c test.h main.o: main.c test.h diff --git a/defs2d.awk b/defs2d.awk new file mode 100755 index 0000000..1151185 --- /dev/null +++ b/defs2d.awk @@ -0,0 +1,16 @@ +#!/usr/bin/awk -f + +/type/ { + printf("static %s a_%s;\n\n", $2, $2); +} + +/distinct/ { + printf("static int %s[] = {\n", $2); + for (i = 3; i < NF; i++) { + #printf("#ifndef %s\n", $i); + #printf("#error %s not defined\n", $i); + #printf("#endif\n"); + printf("\t%s,\n", $i); + } + printf("};\n"); +} |