Home | History | Annotate | Line # | Download | only in sh
Makefile revision 1.73
      1 #	$NetBSD: Makefile,v 1.73 2003/11/16 14:14:18 lukem Exp $
      2 #	@(#)Makefile	8.4 (Berkeley) 5/5/95
      3 
      4 .include <bsd.own.mk>
      5 
      6 YHEADER=1
      7 PROG=	sh
      8 SHSRCS=	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
     12 GENSRCS=arith.c arith_lex.c builtins.c init.c nodes.c syntax.c
     13 GENHDRS=arith.h builtins.h nodes.h syntax.h token.h
     14 SRCS=	${SHSRCS} ${GENSRCS}
     15 
     16 DPSRCS+=${GENHDRS}
     17 
     18 LDADD+=	-ll -ledit -ltermcap
     19 DPADD+=	${LIBL} ${LIBEDIT} ${LIBTERMCAP}
     20 
     21 LFLAGS=	-8	# 8-bit lex scanner for arithmetic
     22 YFLAGS=	-d
     23 
     24 .ifdef CRUNCHEDPROG
     25 LFLAGS+=-L
     26 YFLAGS+=-l
     27 .endif
     28 
     29 CPPFLAGS+=-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
     36 CPPFLAGS+=-DSMALL
     37 .endif
     38 
     39 .PATH:	${.CURDIR}/bltin ${NETBSDSRCDIR}/bin/test \
     40 	${NETBSDSRCDIR}/usr.bin/printf \
     41 	${NETBSDSRCDIR}/bin/kill
     42 
     43 CLEANFILES+= mkinit mkinit.lo mknodes mknodes.lo mksyntax mksyntax.lo
     44 CLEANFILES+= ${GENSRCS} ${GENHDRS} y.tab.h
     45 CLEANFILES+= trace
     46 
     47 token.h: mktokens
     48 	${_MKTARGET_CREATE}
     49 	${HOST_SH} ${.ALLSRC}
     50 
     51 builtins.h: builtins.c
     52 	${_MKTARGET_CREATE}
     53 
     54 builtins.c: mkbuiltins shell.h builtins.def
     55 	${_MKTARGET_CREATE}
     56 	${HOST_SH} ${.ALLSRC} ${.OBJDIR}
     57 	[ -f builtins.h ]
     58 
     59 init.c: mkinit ${SHSRCS}
     60 	${_MKTARGET_CREATE}
     61 	./${.ALLSRC}
     62 
     63 nodes.h: nodes.c
     64 
     65 nodes.c: mknodes nodetypes nodes.c.pat
     66 	${_MKTARGET_CREATE}
     67 	./${.ALLSRC}
     68 	[ -f nodes.h ]
     69 
     70 syntax.h: syntax.c
     71 
     72 syntax.c: mksyntax
     73 	${_MKTARGET_CREATE}
     74 	./${.ALLSRC}
     75 	[ -f syntax.h ]
     76 
     77 .if ${USETOOLS} == "yes"
     78 COMPATOBJDIR!=	cd ${NETBSDSRCDIR}/tools/compat && ${PRINTOBJDIR}
     79 NBCOMPATLIB=	-L${COMPATOBJDIR} -lnbcompat
     80 .endif
     81 
     82 mkinit: mkinit.lo
     83 	${_MKTARGET_LINK}
     84 	${HOST_LINK.c} -o ${.TARGET} ${.ALLSRC} ${NBCOMPATLIB}
     85 
     86 mknodes: mknodes.lo
     87 	${_MKTARGET_LINK}
     88 	${HOST_LINK.c} -o ${.TARGET} ${.ALLSRC} ${NBCOMPATLIB}
     89 
     90 .if	(${MACHINE_ARCH} == "powerpc") || \
     91 	(${MACHINE_CPU} == "arm")
     92 TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char"
     93 .else
     94 TARGET_CHARFLAG?= -DTARGET_CHAR="signed char"
     95 .endif
     96 
     97 mksyntax: mksyntax.lo
     98 	${_MKTARGET_LINK}
     99 	${HOST_LINK.c} ${TARGET_CHARFLAG} -o ${.TARGET} ${.ALLSRC} ${NBCOMPATLIB}
    100 
    101 .include <bsd.prog.mk>
    102