summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile55
1 files changed, 55 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..892f59b
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,55 @@
+# $NetBSD: Makefile,v 1.35 2019/02/04 04:05:15 mrg Exp $
+
+WARNS=3
+CWARNFLAGS.clang+= -Wno-error=cast-qual
+
+.include <bsd.own.mk>
+
+CPPFLAGS+= -I.
+
+PROG= ksh
+SRCS= alloc.c c_ksh.c c_sh.c c_test.c c_ulimit.c edit.c emacs.c \
+ eval.c exec.c expr.c history.c io.c jobs.c lex.c mail.c \
+ main.c misc.c path.c shf.c syn.c table.c trap.c tree.c tty.c \
+ var.c version.c vi.c
+DPSRCS= emacs.out siglist.out
+.if (${MKMAN} != "no")
+DPSRCS+=ksh.1
+.endif
+
+# needs tbl for the man page.
+USETBL=
+
+# Environment for scripts executed during build.
+SCRIPT_ENV= \
+ AWK=${TOOL_AWK:Q} \
+ SED=${TOOL_SED:Q}
+
+CLEANFILES+= siglist.out siglist.out.tmp
+# two steps to prevent the creation of a bogus siglist.out
+siglist.out: config.h sh.h siglist.in siglist.sh
+ ${_MKTARGET_CREATE}
+ ${SCRIPT_ENV} \
+ ${HOST_SH} $(.CURDIR)/siglist.sh "$(CC) -E $(CPPFLAGS) $(DEFS) -I. -I$(.CURDIR)" < $(.CURDIR)/siglist.in > siglist.out.tmp \
+ && mv siglist.out.tmp siglist.out
+
+# two steps to prevent the creation of a bogus emacs.out
+CLEANFILES+= emacs.out emacs.out.tmp
+emacs.out: emacs.c
+ ${_MKTARGET_CREATE}
+ ${SCRIPT_ENV} \
+ ${HOST_SH} $(.CURDIR)/emacs-gen.sh $(.CURDIR)/emacs.c > emacs.out.tmp \
+ && mv emacs.out.tmp emacs.out
+
+CLEANFILES+= ksh.1 ksh.1.tmp
+ksh.1: ksh.Man mkman
+ ${_MKTARGET_CREATE}
+ ${SCRIPT_ENV} \
+ ${HOST_SH} $(.CURDIR)/mkman ksh $(.CURDIR)/ksh.Man >ksh.1.tmp \
+ && mv ksh.1.tmp ksh.1
+
+.if defined(HAVE_GCC) && ${HAVE_GCC} == 7 && ${ACTIVE_CC} == "gcc"
+COPTS+= -Wno-error=implicit-fallthrough
+.endif
+
+.include <bsd.prog.mk>