YACAL2: CASL2処理系
[YACASL2.git] / src / Makefile
1 INCLUDE = ../include
2 CC = gcc
3 CFLAGS = -g -Wall -I $(INCLUDE)
4 COMMONSRC = struct.o cmd.o cerr.o
5 ASSRC = assemble.o token.o label.o macro.o
6 EXECSRC = exec.o dump.o
7 .PHPNY: all clean
8 all: ../casl2 ../comet2 TAGS
9 ../casl2: casl2.o $(COMMONSRC) $(ASSRC) $(EXECSRC)
10         $(CC) $(CFLAGS) -o $@ $^
11 ../comet2: comet2.o $(COMMONSRC) $(EXECSRC)
12         $(CC) $(CFLAGS) -o $@ $^
13 %.o: %.c
14         $(CC) -c $(CFLAGS) $<
15 casl2.o comet2.o $(COMMONSRC) $(ASSRC) $(EXECSRC): $(INCLUDE)/casl2.h
16 casl2.o $(ASSRC): $(INCLUDE)/assemble.h
17 comet2.c $(EXECSRC): $(INCLUDE)/exec.h
18 TAGS: $(INCLUDE)/*.h *.c
19         @if test `which etags`; then \
20       etags $^; \
21     fi
22 clean:
23         @rm -f *.o