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 |