Home | History | Annotate | Line # | Download | only in sh
Makefile revision 1.75
      1 #	$NetBSD: Makefile,v 1.75 2004/01/17 11:47:30 dsl 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 # The .depend file can get references to these temporary files
     25 .OPTIONAL: lex.yy.c y.tab.c
     26 
     27 .ifdef CRUNCHEDPROG
     28 LFLAGS+=-L
     29 YFLAGS+=-l
     30 .endif
     31 
     32 CPPFLAGS+=-DSHELL -I. -I${.CURDIR}
     33 #XXX: For testing only.
     34 #CPPFLAGS+=-DDEBUG=1
     35 #CFLAGS+=-funsigned-char
     36 #TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char" -funsigned-char
     37 
     38 .ifdef SMALLPROG
     39 CPPFLAGS+=-DSMALL
     40 .endif
     41 
     42 .PATH:	${.CURDIR}/bltin ${NETBSDSRCDIR}/bin/test \
     43 	${NETBSDSRCDIR}/usr.bin/printf \
     44 	${NETBSDSRCDIR}/bin/kill
     45 
     46 CLEANFILES+= mksyntax
     47 CLEANFILES+= ${GENSRCS} ${GENHDRS} y.tab.h
     48 CLEANFILES+= trace
     49 
     50 token.h: mktokens
     51 	${_MKTARGET_CREATE}
     52 	${HOST_SH} ${.ALLSRC}
     53 
     54 builtins.h: builtins.c
     55 	${_MKTARGET_CREATE}
     56 
     57 builtins.c: mkbuiltins shell.h builtins.def
     58 	${_MKTARGET_CREATE}
     59 	${HOST_SH} ${.ALLSRC} ${.OBJDIR}
     60 	[ -f builtins.h ]
     61 
     62 init.c: mkinit.sh ${SHSRCS}
     63 	${_MKTARGET_CREATE}
     64 	${HOST_SH} ${.ALLSRC}
     65 
     66 nodes.h: nodes.c
     67 
     68 nodes.c: mknodes.sh nodetypes nodes.c.pat
     69 	${_MKTARGET_CREATE}
     70 	${HOST_SH} ${.ALLSRC} ${.OBJDIR}
     71 	[ -f nodes.h ]
     72 
     73 syntax.h: syntax.c
     74 
     75 syntax.c: mksyntax
     76 	${_MKTARGET_CREATE}
     77 	./${.ALLSRC}
     78 	[ -f syntax.h ]
     79 
     80 .if ${USETOOLS} == "yes"
     81 COMPATOBJDIR!=	cd ${NETBSDSRCDIR}/tools/compat && ${PRINTOBJDIR}
     82 NBCOMPATLIB=	-L${COMPATOBJDIR} -lnbcompat
     83 .endif
     84 
     85 .if	(${MACHINE_ARCH} == "powerpc") || \
     86 	(${MACHINE_CPU} == "arm")
     87 TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char"
     88 .else
     89 TARGET_CHARFLAG?= -DTARGET_CHAR="signed char"
     90 .endif
     91 
     92 mksyntax: mksyntax.c
     93 	${_MKTARGET_LINK}
     94 	${HOST_LINK.c} ${TARGET_CHARFLAG} -o ${.TARGET} ${.ALLSRC} ${NBCOMPATLIB}
     95 
     96 .include <bsd.prog.mk>
     97