| Rev | Line | |
|---|
| [2467] | 1 | # @(#)Makefile 5.3 (Berkeley) 5/12/90
|
|---|
| 2 | # $FreeBSD: src/usr.bin/yacc/Makefile,v 1.13 2002/02/08 23:07:36 markm Exp $
|
|---|
| 3 |
|
|---|
| 4 | OBJDIR ?= obj
|
|---|
| 5 |
|
|---|
| 6 | PROG= yacc
|
|---|
| 7 | SRCS= closure.c error.c lalr.c lr0.c main.c mkpar.c output.c reader.c \
|
|---|
| 8 | skeleton.c symtab.c verbose.c warshall.c
|
|---|
| 9 | SCRIPTS=yyfix.sh
|
|---|
| 10 | MAN= yacc.1 yyfix.1
|
|---|
| 11 | LINKS= ${BINDIR}/yacc ${BINDIR}/byacc
|
|---|
| 12 | MLINKS= yacc.1 byacc.1
|
|---|
| 13 |
|
|---|
| 14 | CC = gcc
|
|---|
| 15 | CFLAGS = -g -Zomf
|
|---|
| 16 | # for debug:
|
|---|
| 17 | LD = gcc
|
|---|
| 18 | LDFLAGS = -Zomf -Zmap -Zstack 384 -Zfork
|
|---|
| 19 |
|
|---|
| 20 | ifeq ($(BUILD_TYPE),debug)
|
|---|
| 21 | CFLAGS += -g -DDEBUG=2 -O0
|
|---|
| 22 | LDFLAGS += -g
|
|---|
| 23 | else
|
|---|
| 24 | CFLAGS += -O2 -march=i586 -mcpu=i586 -fno-strength-reduce -fomit-frame-pointer
|
|---|
| 25 | endif
|
|---|
| 26 |
|
|---|
| 27 |
|
|---|
| 28 | all: $(OBJDIR)/yacc.exe
|
|---|
| 29 |
|
|---|
| 30 |
|
|---|
| 31 | #######
|
|---|
| 32 |
|
|---|
| 33 | OBJS :=
|
|---|
| 34 |
|
|---|
| 35 | define def_compile
|
|---|
| 36 |
|
|---|
| 37 | $(eval s := $(firstword $(wildcard ./$(src) ./funcs/$(src) ./bltin/$(src)) $(src)))
|
|---|
| 38 | $(eval o := $(OBJDIR)/$(patsubst %.c,%.o,$(src)))
|
|---|
| 39 | $(eval OBJS += $(o))
|
|---|
| 40 |
|
|---|
| 41 | $(o): $(s) | $(GENHDRS) $(OBJDIR)
|
|---|
| 42 | $$(CC) -c $$(CFLAGS) -o $$@ $(s)
|
|---|
| 43 |
|
|---|
| 44 | endef
|
|---|
| 45 |
|
|---|
| 46 | $(foreach src,$(SRCS),$(eval $(def_compile)))
|
|---|
| 47 |
|
|---|
| 48 | $(OBJDIR):
|
|---|
| 49 | mkdir -p $@
|
|---|
| 50 |
|
|---|
| 51 | $(OBJDIR)/yacc.exe: $(OBJS)
|
|---|
| 52 | $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS)
|
|---|
| 53 |
|
|---|
| 54 | clean:
|
|---|
| 55 | rm -f core *.o $(OBJS) $(OBJDIR)/yacc.exe
|
|---|
| 56 |
|
|---|
| 57 |
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.