summaryrefslogtreecommitdiff
path: root/src/tools/c/examples/bronzeage/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/c/examples/bronzeage/Makefile')
-rw-r--r--src/tools/c/examples/bronzeage/Makefile47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/tools/c/examples/bronzeage/Makefile b/src/tools/c/examples/bronzeage/Makefile
new file mode 100644
index 000000000..67367920a
--- /dev/null
+++ b/src/tools/c/examples/bronzeage/Makefile
@@ -0,0 +1,47 @@
+
+GFDIR=../../../../../
+
+LIBGFCC_INCLUDES = $(GFDIR)/lib/c
+LIBGFCC_LIBDIR = $(GFDIR)/lib/c
+
+GFCC2C = $(GFDIR)/bin/gfcc2c
+
+TEST_PROG = bronzeage-test
+
+GRAMMAR_DIR = $(GFDIR)/examples/bronzeage
+
+GRAMMAR_MODULES = Bronzeage BronzeageEng BronzeageSwe
+
+GRAMMAR_H_FILES = $(addsuffix .h, $(GRAMMAR_MODULES))
+GRAMMAR_C_FILES = $(addsuffix .c, $(GRAMMAR_MODULES))
+GRAMMAR_O_FILES = $(addsuffix .o, $(GRAMMAR_MODULES))
+
+CFLAGS += -O2
+CPPFLAGS += -I$(LIBGFCC_INCLUDES)
+
+.PHONY: clean
+
+all: bronzeage.gfcc $(TEST_PROG)
+
+$(TEST_PROG): $(GRAMMAR_O_FILES) $(TEST_PROG).o $(LIBGFCC_LIBDIR)/libgfcc.a
+
+$(TEST_PROG).o: $(GRAMMAR_H_FILES) $(GRAMMAR_O_FILES) $(TEST_PROG).c
+
+$(GRAMMAR_H_FILES) $(GRAMMAR_C_FILES): $(GFCC2C) bronzeage.gfcc
+ $(GFCC2C) bronzeage.gfcc
+
+bronzeage.gfcc:
+ echo "i -optimize=all $(GRAMMAR_DIR)/BronzeageEng.gf" > mkBronzeage.gfs
+ echo "i -optimize=all $(GRAMMAR_DIR)/BronzeageSwe.gf" >> mkBronzeage.gfs
+ echo "s" >> mkBronzeage.gfs
+ echo "pm -printer=gfcc | wf bronzeage.gfcc" >> mkBronzeage.gfs
+ cat mkBronzeage.gfs | gf
+ rm -f mkBronzeage.gfs
+
+clean:
+ -rm -f $(TEST_PROG) *.o
+
+
+distclean: clean
+ -rm -f $(GRAMMAR_H_FILES) $(GRAMMAR_C_FILES)
+ -rm -f bronzeage.gfcc