Makefile revision 1.69
1# $NetBSD: Makefile,v 1.69 2003/10/19 00:35:26 lukem Exp $ 2# @(#)Makefile 8.4 (Berkeley) 5/5/95 3 4.include <bsd.own.mk> 5 6YHEADER=1 7PROG= sh 8SHSRCS= alias.c cd.c echo.c error.c eval.c exec.c expand.c \ 9 histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \ 10 mystring.c options.c parser.c redir.c show.c trap.c output.c var.c \ 11 test.c printf.c kill.c 12GENSRCS=arith.c arith_lex.c builtins.c init.c nodes.c syntax.c 13GENHDRS=arith.h builtins.h nodes.h syntax.h token.h 14SRCS= ${SHSRCS} ${GENSRCS} 15 16DPSRCS+=${GENHDRS} 17 18LDADD+= -ll -ledit -ltermcap 19DPADD+= ${LIBL} ${LIBEDIT} ${LIBTERMCAP} 20 21LFLAGS= -8 # 8-bit lex scanner for arithmetic 22YFLAGS= -d 23 24.ifdef CRUNCHEDPROG 25LFLAGS+=-L 26YFLAGS+=-l 27.endif 28 29CPPFLAGS+=-DSHELL -I. -I${.CURDIR} 30#XXX: For testing only. 31#CPPFLAGS+=-DDEBUG=1 32#CFLAGS+=-funsigned-char 33#TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char" -funsigned-char 34 35.ifdef SMALLPROG 36CPPFLAGS+=-DSMALL 37.endif 38 39.PATH: ${.CURDIR}/bltin ${NETBSDSRCDIR}/bin/test \ 40 ${NETBSDSRCDIR}/usr.bin/printf \ 41 ${NETBSDSRCDIR}/bin/kill 42 43CLEANFILES+= mkinit mknodes mksyntax 44CLEANFILES+= ${GENSRCS} ${GENHDRS} y.tab.h 45CLEANFILES+= trace 46 47token.h: mktokens 48 ${_MKMSG} " create ${.TARGET}" 49 ${_MKCMD}\ 50 ${HOST_SH} ${.ALLSRC} 51 52builtins.h: builtins.c 53 ${_MKMSG} " create ${.TARGET}" 54 55 56builtins.c: mkbuiltins shell.h builtins.def 57 ${_MKMSG} " create ${.TARGET}" 58 ${_MKCMD}\ 59 ${HOST_SH} ${.ALLSRC} ${.OBJDIR} 60 ${_MKCMD}\ 61 [ -f builtins.h ] 62 63init.c: mkinit ${SHSRCS} 64 ${_MKMSG} " create ${.TARGET}" 65 ${_MKCMD}\ 66 ./${.ALLSRC} 67 68nodes.h: nodes.c 69 70nodes.c: mknodes nodetypes nodes.c.pat 71 ${_MKMSG} " create ${.TARGET}" 72 ${_MKCMD}\ 73 ./${.ALLSRC} 74 ${_MKCMD}\ 75 [ -f nodes.h ] 76 77syntax.h: syntax.c 78 79syntax.c: mksyntax 80 ${_MKMSG} " create ${.TARGET}" 81 ${_MKCMD}\ 82 ./${.ALLSRC} 83 ${_MKCMD}\ 84 [ -f syntax.h ] 85 86.if ${USETOOLS} == "yes" 87COMPATOBJDIR!= cd ${NETBSDSRCDIR}/tools/compat && ${PRINTOBJDIR} 88NBCOMPATLIB= -L${COMPATOBJDIR} -lnbcompat 89.endif 90 91mkinit: mkinit.c 92 ${_MKMSG} " create ${.TARGET}" 93 ${_MKCMD}\ 94 ${HOST_LINK.c} -o mkinit ${.IMPSRC} ${NBCOMPATLIB} 95 96mknodes: mknodes.c 97 ${_MKMSG} " create ${.TARGET}" 98 ${_MKCMD}\ 99 ${HOST_LINK.c} -o mknodes ${.IMPSRC} ${NBCOMPATLIB} 100 101.if (${MACHINE_ARCH} == "powerpc") || \ 102 (${MACHINE_CPU} == "arm") 103TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char" 104.else 105TARGET_CHARFLAG?= -DTARGET_CHAR="signed char" 106.endif 107 108mksyntax: mksyntax.c 109 ${_MKMSG} " create ${.TARGET}" 110 ${_MKCMD}\ 111 ${HOST_LINK.c} ${TARGET_CHARFLAG} -o mksyntax ${.IMPSRC} ${NBCOMPATLIB} 112 113.include <bsd.prog.mk> 114