flex: Add world makefiles, but don't tie it into build yet.
[dragonfly.git] / usr.bin / flex / Makefile
1 CONTRIBDIR=     ${.CURDIR}/../../contrib/flex
2 .PATH:          ${CONTRIBDIR}
3 .PATH:          ${CONTRIBDIR}/doc
4
5 PROG=   flex
6
7 VMAJ=   2
8 VMIN=   5
9 VPT=    37
10
11 LINKS+= ${BINDIR}/flex ${BINDIR}/lex
12 LINKS+= ${BINDIR}/flex ${BINDIR}/lex++
13 LINKS+= ${BINDIR}/flex ${BINDIR}/flex++
14
15 MLINKS+=        flex.1 lex.1
16 MLINKS+=        flex.1 lex++.1
17 MLINKS+=        flex.1 flex++.1
18
19 INCS=           FlexLexer.h
20 INCSDIR=        ${INCLUDEDIR}/c++
21
22 SUBDIR=         lib
23
24 CFLAGS+=        -I${CONTRIBDIR} -I${.OBJDIR} -I${.CURDIR}
25 CFLAGS+=        -DHAVE_CONFIG_H
26
27 WARNS?=         2
28
29 # verbatim from vendor makefile
30 flex_SOURCES = \
31         ccl.c \
32         dfa.c \
33         ecs.c \
34         scanflags.c \
35         gen.c \
36         main.c \
37         misc.c \
38         nfa.c \
39         parse.y \
40         scan.l \
41         skel.c \
42         sym.c \
43         tblcmp.c \
44         yylex.c \
45         options.c \
46         scanopt.c \
47         buf.c \
48         tables.c \
49         tables_shared.c \
50         filter.c \
51         regex.c
52
53 SRCS=   ${flex_SOURCES}
54
55 skel.c: flex.skl mkskel.sh flexint.h tables_shared.h
56         sed -e 's/m4_/m4postproc_/g' \
57             -e 's/m4preproc_/m4_/g' \
58             ${CONTRIBDIR}/flex.skl \
59         | m4 -P -I ${CONTRIBDIR} \
60            -D FLEX_MAJOR_VERSION=${VMAJ} \
61            -D FLEX_MINOR_VERSION=${VMIN} \
62            -D FLEX_SUBMINOR_VERSION=${VPT} \
63         | sed 's/m4postproc_/m4_/g' \
64         | sh ${CONTRIBDIR}/mkskel.sh > skel.c
65
66 DPADD=  ${LIBM}
67 LDADD=  -lm
68
69 CLEANFILES=     skel.c
70
71 .include <bsd.prog.mk>