multiclip/Makefile

36 lines
887 B
Makefile

ABLEC_BASE ?= ~/Projects/melt-umn/ableC
EXTS_BASE ?= ~/Projects/melt-umn/extensions
ABLEC_JAR = ableC.jar
ARTIFACT = artifact
GRAMMAR_DIRS = $(ABLEC_BASE)/grammars $(wildcard $(EXTS_BASE)/*/grammars)
GRAMMAR_SOURCES = $(shell find $(GRAMMAR_DIRS) -name *.sv -print0 | xargs -0)
XC_INCLUDE_DIRS = $(wildcard $(EXTS_BASE)/*/include)
override XCFLAGS += $(addprefix -I,$(XC_INCLUDE_DIRS))
override SVFLAGS += $(addprefix -I ,$(GRAMMAR_DIRS))
override LIBS += $(shell pkg-config --libs bdw-gc)
override INCLUDES += $(shell pkg-config --cflags bdw-gc)
all: multiclip
$(ABLEC_JAR): $(GRAMMAR_SOURCES)
touch $(wildcard $(ARTIFACT)/*.sv)
silver-ableC -o $@ $(SVFLAGS) $(ARTIFACT)
multiclip: main.c
gcc -o $@ $(LIBS) $(INCLUDES) $<
main.c: main.xc $(ABLEC_JAR)
java -jar $(ABLEC_JAR) $< $(XCFLAGS)
clean:
rm -f multiclip
rm -f *.gen_cpp
rm -f *.c
rm -f *.xml
.PHONY: all clean