Subversion Repositories Vertical

Rev

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