e43e36af7d
a separate object tree doesn't exist. Crufty makefiles will have to put y.tab.h in SRCS so that we know not to create foo.h from foo.y.
63 lines
1.7 KiB
Makefile
63 lines
1.7 KiB
Makefile
# @(#)Makefile 8.4 (Berkeley) 5/5/95
|
|
# $Id: Makefile,v 1.25 1998/05/04 20:09:00 bde Exp $
|
|
|
|
PROG= sh
|
|
SHSRCS= alias.c cd.c echo.c error.c eval.c exec.c expand.c \
|
|
histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
|
|
mystring.c options.c output.c parser.c printf.c redir.c show.c \
|
|
trap.c var.c
|
|
GENSRCS= arith.c arith_lex.c builtins.c init.c nodes.c syntax.c
|
|
GENHDRS= builtins.h nodes.h syntax.h token.h
|
|
SRCS= ${SHSRCS} ${GENSRCS} ${GENHDRS}
|
|
|
|
DPADD+= ${LIBL} ${LIBEDIT} ${LIBTERMCAP}
|
|
LDADD+= -ll -ledit -ltermcap
|
|
|
|
LFLAGS= -8 # 8-bit lex scanner for arithmetic
|
|
CFLAGS+=-DSHELL -I. -I${.CURDIR}
|
|
# for debug:
|
|
# CFLAGS+= -g -DDEBUG=2
|
|
|
|
.PATH: ${.CURDIR}/bltin ${.CURDIR}/../../usr.bin/printf
|
|
|
|
CLEANFILES+= mkinit mkinit.o mknodes mknodes.o \
|
|
mksyntax mksyntax.o \
|
|
y.tab.h
|
|
CLEANFILES+= ${GENSRCS} ${GENHDRS}
|
|
|
|
|
|
.ORDER: builtins.c builtins.h
|
|
builtins.c builtins.h: mkbuiltins builtins.def
|
|
cd ${.CURDIR}; sh mkbuiltins ${.OBJDIR}
|
|
|
|
init.c: mkinit alias.c eval.c exec.c input.c jobs.c options.c parser.c \
|
|
redir.c trap.c var.c
|
|
./mkinit ${.ALLSRC:S/^mkinit$//}
|
|
|
|
# XXX this is just to stop the default .c rule being used, so that the
|
|
# intermediate object has a fixed name.
|
|
# XXX we have a default .c rule, but no default .o rule.
|
|
.o:
|
|
${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
|
|
mkinit: mkinit.o
|
|
mkinit.o: mkinit.c # XXX and many headers
|
|
mknodes: mknodes.o
|
|
mknodes.o: mknodes.c # XXX and many headers
|
|
mksyntax: mksyntax.o
|
|
mksyntax.o: mksyntax.c # XXX and many headers
|
|
|
|
.ORDER: nodes.c nodes.h
|
|
nodes.c nodes.h: mknodes nodetypes nodes.c.pat
|
|
./mknodes ${.CURDIR}/nodetypes ${.CURDIR}/nodes.c.pat
|
|
|
|
.ORDER: syntax.c syntax.h
|
|
syntax.c syntax.h: mksyntax
|
|
./mksyntax
|
|
|
|
token.h: mktokens
|
|
sh ${.CURDIR}/mktokens
|
|
|
|
y.tab.h: arith.c
|
|
|
|
.include <bsd.prog.mk>
|