CASL2LIBの状態が不正になっていたのを修正
[YACASL2.git] / src / Makefile
1 INCLUDE = ../include
2 CC = gcc
3 CFLAGS = -g -Wall -I $(INCLUDE)
4 WORDOBJ = word.o
5 HASHOBJ = hash.o
6 CMEMOBJ = cmem.o
7 CERROBJ = cerr.o
8 COMMONOBJ = $(WORDOBJ) $(HASHOBJ) $(CMEMOBJ) $(CERROBJ) struct.o cmd.o
9 ASOBJ = assemble.o token.o label.o macro.o
10 EXECOBJ = exec.o dump.o
11 COMMONHEAD = $(INCLUDE)/casl2.h $(INCLUDE)/word.h $(INCLUDE)/hash.h $(INCLUDE)/cmem.h $(INCLUDE)/cerr.h
12 ASHEAD = $(INCLUDE)/assemble.h
13 EXECHEAD = $(INCLUDE)/exec.h
14
15 .PHONY: all clean
16
17 all: ../casl2 ../comet2 ../dumpword
18
19 ../casl2: casl2.o $(COMMONOBJ) $(ASOBJ) $(EXECOBJ)
20         $(CC) $(CFLAGS) -o $@ $^
21
22 ../comet2: comet2.o $(COMMONOBJ) $(EXECOBJ)
23         $(CC) $(CFLAGS) -o $@ $^
24
25 ../dumpword: dumpword.o $(WORDOBJ) $(CMEMOBJ) $(CERROBJ)
26         $(CC) $(CFLAGS) -o $@ $^
27
28 %.o: %.c
29         $(CC) -c $(CFLAGS) $<
30
31 casl2.o comet2.o $(COMMONOBJ) $(ASOBJ) $(EXECOBJ): $(COMMONHEAD)
32
33 casl2.o $(ASOBJ): $(ASHEAD)
34
35 comet2.o $(EXECOBJ): $(EXECHEAD)
36
37 TAGS: $(INCLUDE)/*.h *.c
38         @if test `which etags`; then etags $^; fi
39
40 clean:
41         @rm -f *.o