]>
Commit | Line | Data |
---|---|---|
1 | # @(#)Makefile 8.4 (Berkeley) 5/5/95 | |
2 | # $FreeBSD$ | |
3 | ||
4 | .include <src.opts.mk> | |
5 | ||
6 | PROG= sh | |
7 | INSTALLFLAGS= -S | |
8 | SHSRCS= alias.c arith_yacc.c arith_yylex.c cd.c echo.c error.c eval.c \ | |
9 | exec.c expand.c \ | |
10 | histedit.c input.c jobs.c kill.c mail.c main.c memalloc.c miscbltin.c \ | |
11 | mystring.c options.c output.c parser.c printf.c redir.c show.c \ | |
12 | test.c trap.c var.c | |
13 | GENSRCS= builtins.c nodes.c syntax.c | |
14 | GENHDRS= builtins.h nodes.h syntax.h token.h | |
15 | SRCS= ${SHSRCS} ${GENSRCS} ${GENHDRS} | |
16 | ||
17 | # MLINKS for Shell built in commands for which there are no userland | |
18 | # utilities of the same name are handled with the associated manpage, | |
19 | # builtin.1 in share/man/man1/. | |
20 | ||
21 | LIBADD= edit | |
22 | ||
23 | CFLAGS+=-DSHELL -I. -I${.CURDIR} | |
24 | # for debug: | |
25 | # DEBUG_FLAGS+= -g -DDEBUG=2 -fno-inline | |
26 | WARNS?= 2 | |
27 | WFORMAT=0 | |
28 | ||
29 | .PATH: ${.CURDIR}/bltin \ | |
30 | ${.CURDIR}/../kill \ | |
31 | ${.CURDIR}/../test \ | |
32 | ${.CURDIR}/../../usr.bin/printf | |
33 | ||
34 | CLEANFILES+= mknodes mknodes.o \ | |
35 | mksyntax mksyntax.o | |
36 | CLEANFILES+= ${GENSRCS} ${GENHDRS} | |
37 | ||
38 | build-tools: mknodes mksyntax | |
39 | ||
40 | .ORDER: builtins.c builtins.h | |
41 | builtins.c builtins.h: mkbuiltins builtins.def | |
42 | sh ${.CURDIR}/mkbuiltins ${.CURDIR} | |
43 | ||
44 | # XXX this is just to stop the default .c rule being used, so that the | |
45 | # intermediate object has a fixed name. | |
46 | # XXX we have a default .c rule, but no default .o rule. | |
47 | .o: | |
48 | ${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET} | |
49 | mknodes: mknodes.o | |
50 | mksyntax: mksyntax.o | |
51 | ||
52 | .ORDER: nodes.c nodes.h | |
53 | nodes.c nodes.h: mknodes nodetypes nodes.c.pat | |
54 | ./mknodes ${.CURDIR}/nodetypes ${.CURDIR}/nodes.c.pat | |
55 | ||
56 | .ORDER: syntax.c syntax.h | |
57 | syntax.c syntax.h: mksyntax | |
58 | ./mksyntax | |
59 | ||
60 | token.h: mktokens | |
61 | sh ${.CURDIR}/mktokens | |
62 | ||
63 | .if ${MK_TESTS} != "no" | |
64 | SUBDIR+= tests | |
65 | .endif | |
66 | ||
67 | .include <bsd.prog.mk> |