source: trunk/yacc/Makefile.libc.gmk@ 3669

Last change on this file since 3669 was 2467, checked in by bird, 20 years ago

OS/2 changes.

File size: 1.1 KB
Line 
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
4OBJDIR ?= obj
5
6PROG= yacc
7SRCS= 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
9SCRIPTS=yyfix.sh
10MAN= yacc.1 yyfix.1
11LINKS= ${BINDIR}/yacc ${BINDIR}/byacc
12MLINKS= yacc.1 byacc.1
13
14CC = gcc
15CFLAGS = -g -Zomf
16# for debug:
17LD = gcc
18LDFLAGS = -Zomf -Zmap -Zstack 384 -Zfork
19
20ifeq ($(BUILD_TYPE),debug)
21CFLAGS += -g -DDEBUG=2 -O0
22LDFLAGS += -g
23else
24CFLAGS += -O2 -march=i586 -mcpu=i586 -fno-strength-reduce -fomit-frame-pointer
25endif
26
27
28all: $(OBJDIR)/yacc.exe
29
30
31#######
32
33OBJS :=
34
35define 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
44endef
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
54clean:
55 rm -f core *.o $(OBJS) $(OBJDIR)/yacc.exe
56
57
Note: See TracBrowser for help on using the repository browser.