Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2 | mjames | 1 | CFLAGS+=-D LINUX -Wall |
2 | CFLAGS+= -DYY_MAIN=0 -fpic |
||
3 | |||
4 | CFLAGS+=-I../cmdlib -I../vertlib |
||
5 | CFLAGS+=-I../vertcl_src -I../versionlib |
||
6 | CFLAGS+=-I../include |
||
7 | CFLAGS+=-I.. |
||
8 | |||
9 | # interesting linker commands -dll -shared -O2 -mno-cygwin |
||
10 | #LDFLAGS = /usr/lib/crt0.o -L/usr/lib -lregex -liberty -lfl |
||
11 | LDFLAGS = -lpcre -lfl -g -Wl,-L/mnt/card/vert03/lib |
||
12 | |||
13 | #rules alter to match funny RISCOS yacc |
||
14 | |||
15 | #.y.o: |
||
16 | # $(YACC) $(YFLAGS) $< |
||
17 | # mv y.tab.c $*.c |
||
18 | # mv y.tab.h $*.h |
||
19 | # $(CC) $(CFLAGS) $*.c -c -o $@ |
||
20 | # rm $*_tab.c |
||
21 | |||
22 | |||
23 | .y.c: |
||
24 | $(YACC) $(YFLAGS) $< |
||
25 | mv $*.tab.c $*.c |
||
26 | mv $*.tab.h $*.h |
||
27 | |||
28 | .l.c: |
||
29 | $(LEX) $(LFLAGS) $< |
||
30 | mv lex.yy.c $*.c |
||
31 | |||
32 | # |
||
33 | # mv $*.o $@ |
||
34 | # |
||
35 | |||
36 | |||
37 | |||
38 | SRCS:=$(wildcard *.c) |
||
39 | HDRS:=$(wildcard *.h) |
||
40 | ifneq ($(TARG),vertcl) |
||
41 | LEXS:=$(TARG)_lex.l |
||
42 | YACCS:=$(TARG)_yacc.y |
||
43 | endif |
||
44 | |||
45 | OBJS:=$(SRCS:.c=.o) |
||
46 | COMP_C:=$(LEXS:.l=.c) |
||
47 | COMP_C+=$(YACCS:.y=.c) |
||
48 | OBJS+=$(LEXS:.l=.o) |
||
49 | OBJS+=$(YACCS:.y=.o) |
||
50 | |||
51 | OBJS:=$(sort $(OBJS)) |
||
52 | |||
53 | DEPS:=$(OBJS:.o=.d) |
||
54 | |||
55 | |||
56 | OBJS:=$(patsubst %,../obj/%,$(OBJS)) |
||
57 | |||
58 | LIBS:= $(TARG)lib.a |
||
59 | SOLIBS:= -lcmd -lvert -lversion |
||
60 | |||
61 | |||
62 | ifneq ($(TARG),vertcl) |
||
63 | #../targets/$(TARG)_read:$(LIBS) $(OBJS) |
||
64 | #../targets/$(TARG)_read: $(OBJS) |
||
65 | ../targets/$(TARG)_read: $(LIBS) |
||
66 | # $(CC) -o $@ $(LIBS) $(LDFLAGS) |
||
67 | $(CC) -o $@ $< -dy $(LDFLAGS) $(SOLIBS) |
||
68 | else |
||
69 | all: |
||
70 | @echo avoiding making $(TARG)_read |
||
71 | endif |
||
72 | |||
73 | $(OBJS):$(SRCS) $(HDRS) |
||
74 | $(CC) $(CFLAGS) $(patsubst ../obj/%.o,%.c,$@) -c -o $@ |
||
75 | |||
76 | $(LEXS):$(TARG)_yacc.h |
||
77 | |||
78 | $(TARG)_yacc.h:$(TARG)_yacc.y |
||
79 | |||
80 | $(TARG)lib.a:$(OBJS) |
||
81 | ar rs $@ $(OBJS) |
||
82 | # ld -o $@ --shared $(OBJS) |
||
83 | |||
84 | clean: |
||
85 | rm -f $(OBJS) $(TARG)lib.a $(TARG)lib.so $(COMP_C) *.exe *.a *.bak *.org y.output |
||
86 | rm -f *_yacc.c *_lex.c $(DEPS) *.o |
||
87 | |||
88 | .SUFFIXES: .d .c .o |
||
89 | |||
90 | ifneq ($(MAKECMDGOALS),clean) |
||
91 | include $(DEPS) |
||
92 | endif |
||
93 | |||
94 | ../obj/%.o:%.c |
||
95 | $(CC) $(CFLAGS) $< -c -o $@ |
||
96 | |||
97 | |||
98 | %.d:%.c |
||
99 | $(CC) -c -E $(CFLAGS) -MMD $< > /dev/null |
||
100 | #...include correct path |
||
101 | sed -e "s,\(.*\.o\),../obj/\1,g" -e "s,:,:../make_targ ,"< $@ > /tmp/dep |
||
102 | mv /tmp/dep $@ |
||
103 | |||
104 | |||
105 | |||
106 |