2 CFLAGS ?= -g -Wall -Wextra -I $(INCLUDE)
11 COMMONSRC := word.c cmem.c cerr.c
12 CASL2SRC := struct.c hash.c
13 ASSRC := assemble.c token.c label.c
14 EXECSRC := exec.c dump.c
16 .PHONY: all version clean
18 all: version ../casl2 ../comet2 ../dumpword ctags etags
23 ../casl2: casl2.o $(subst .c,.o,$(COMMONSRC) $(CASL2SRC) $(ASSRC) $(EXECSRC))
24 $(CC) $(CFLAGS) -o $@ $^
27 ../comet2: comet2.o $(subst .c,.o,$(COMMONSRC) $(CASL2SRC) $(EXECSRC))
28 $(CC) $(CFLAGS) -o $@ $^
31 ../dumpword: dumpword.o $(subst .c,.o,$(COMMONSRC))
32 $(CC) $(CFLAGS) -o $@ $^
39 @$(CC) -MM -I $(INCLUDE) $< | $(SED) 's/\($*\.o\):/\1 $@:/g' >$@
41 -include $(subst .c,.d,casl2.c comet2.c dumpword.c $(COMMONSRC) $(CASL2SRC) $(ASSRC) $(EXECSRC))
43 ctags: $(INCLUDE)/*.h *.c
44 @$(WHICH) $(CTAGS) >/dev/null && $(CTAGS) $^
46 etags: $(INCLUDE)/*.h *.c
47 @$(WHICH) $(ETAGS) >/dev/null && $(ETAGS) $^
49 clean: clean_cmd clean_build clean_tags
52 @$(RMF) ../casl2 ../comet2 ../dumpword