Home | History | Annotate | Line # | Download | only in sh
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 
      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 mknodes mksyntax
     44 CLEANFILES+= ${GENSRCS} ${GENHDRS} y.tab.h
     45 CLEANFILES+= trace
     46 
     47 token.h: mktokens
     48 	${_MKMSG} " create  ${.TARGET}"
     49 	${_MKCMD}\
     50 	${HOST_SH} ${.ALLSRC}
     51 
     52 builtins.h: builtins.c
     53 	${_MKMSG} " create  ${.TARGET}"
     54 
     55 
     56 builtins.c: mkbuiltins shell.h builtins.def
     57 	${_MKMSG} " create  ${.TARGET}"
     58 	${_MKCMD}\
     59 	${HOST_SH} ${.ALLSRC} ${.OBJDIR}
     60 	${_MKCMD}\
     61 	[ -f builtins.h ]
     62 
     63 init.c: mkinit ${SHSRCS}
     64 	${_MKMSG} " create  ${.TARGET}"
     65 	${_MKCMD}\
     66 	./${.ALLSRC}
     67 
     68 nodes.h: nodes.c
     69 
     70 nodes.c: mknodes nodetypes nodes.c.pat
     71 	${_MKMSG} " create  ${.TARGET}"
     72 	${_MKCMD}\
     73 	./${.ALLSRC}
     74 	${_MKCMD}\
     75 	[ -f nodes.h ]
     76 
     77 syntax.h: syntax.c
     78 
     79 syntax.c: mksyntax
     80 	${_MKMSG} " create  ${.TARGET}"
     81 	${_MKCMD}\
     82 	./${.ALLSRC}
     83 	${_MKCMD}\
     84 	[ -f syntax.h ]
     85 
     86 .if ${USETOOLS} == "yes"
     87 COMPATOBJDIR!=	cd ${NETBSDSRCDIR}/tools/compat && ${PRINTOBJDIR}
     88 NBCOMPATLIB=	-L${COMPATOBJDIR} -lnbcompat
     89 .endif
     90 
     91 mkinit: mkinit.c
     92 	${_MKMSG} " create  ${.TARGET}"
     93 	${_MKCMD}\
     94 	${HOST_LINK.c} -o mkinit ${.IMPSRC} ${NBCOMPATLIB}
     95 
     96 mknodes: 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")
    103 TARGET_CHARFLAG?= -DTARGET_CHAR="unsigned char"
    104 .else
    105 TARGET_CHARFLAG?= -DTARGET_CHAR="signed char"
    106 .endif
    107 
    108 mksyntax: 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