diff options
Diffstat (limited to '')
-rw-r--r-- | bin/1sh/Makefile | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/bin/1sh/Makefile b/bin/1sh/Makefile new file mode 100644 index 00000000..26ce125f --- /dev/null +++ b/bin/1sh/Makefile @@ -0,0 +1,84 @@ +PREFIX = /usr/local +MANDIR = ${PREFIX}/share/man + +CFLAGS += -std=c99 -Wall -Wextra -DSHELL +LDLIBS = -ledit + +-include config.mk + +SRCS += alias.c +SRCS += arith_yacc.c +SRCS += arith_yylex.c +SRCS += cd.c +SRCS += echo.c +SRCS += error.c +SRCS += eval.c +SRCS += exec.c +SRCS += expand.c +SRCS += histedit.c +SRCS += input.c +SRCS += jobs.c +SRCS += kill.c +SRCS += mail.c +SRCS += main.c +SRCS += memalloc.c +SRCS += miscbltin.c +SRCS += mystring.c +SRCS += options.c +SRCS += output.c +SRCS += parser.c +SRCS += printf.c +SRCS += redir.c +SRCS += show.c +SRCS += test.c +SRCS += trap.c +SRCS += var.c + +GENSRCS = builtins.c nodes.c syntax.c +GENHDRS = builtins.h nodes.h syntax.h token.h + +SRCS += ${GENSRCS} +OBJS = ${SRCS:.c=.o} + +MANS = 1sh.1 1sh-kill.1 1sh-printf.1 1sh-test.1 + +all: tags 1sh + +1sh: ${OBJS} + ${CC} ${LDFLAGS} ${OBJS} ${LDLIBS} -o $@ + +${OBJS}: ${GENHDRS} + +builtins.c builtins.h: mkbuiltins builtins.def + sh mkbuiltins . + +nodes.c nodes.h: mknodes nodetypes nodes.c.pat + ./mknodes nodetypes nodes.c.pat + +syntax.c syntax.h: mksyntax + ./mksyntax + +token.h: mktokens + sh mktokens + +tags: *.h *.c + ctags -w *.h *.c + +depend: ${SRCS} ${GENHDRS} + ${CC} ${CFLAGS} -MM ${SRCS} > .depend + +-include .depend + +clean: + rm -f 1sh ${OBJS} mknodes mksyntax ${GENSRCS} ${GENHDRS} tags .depend + +install: 1sh ${MANS} + install -d ${PREFIX}/bin ${MANDIR}/man1 + install 1sh ${PREFIX}/bin + for man in ${MANS}; do gzip -c $$man > ${MANDIR}/man1/$$man.gz; done + grep -q '^${PREFIX}/bin/1sh$$' /etc/shells \ + || echo '${PREFIX}/bin/1sh' >> /etc/shells + +uninstall: + rm -f ${PREFIX}/bin/1sh ${MANS:%=${MANDIR}/man1/%.gz} + sed -i sed '\;^${PREFIX}/bin/1sh$$;d' /etc/shells |