diff --git a/Ada95/mk-pkg.awk b/Ada95/mk-pkg.awk
new file mode 100644
index 0000000..bb07abe
--- /dev/null
+++ b/Ada95/mk-pkg.awk
@@ -0,0 +1,90 @@
+# $Id: mk-pkg.awk,v 1.1 2022/12/17 23:41:18 tom Exp $
+##############################################################################
+# Copyright 2022 Thomas E. Dickey                                            #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey
+#
+# add rules to Makefile for AdaCurses binding package.
+BEGIN	{
+		print "# generated by mk-pkg.awk\n";
+	}
+END	{
+	printf	"PACKAGE 	= %s\n", PACKAGE
+	print	"real_bindir	= $(libexecdir)/$(PACKAGE)"
+	print	"REAL_BINDIR	= $(LIBEXECDIR)/$(PACKAGE)"
+	print	"SUB_MFLAGS	= $(TOP_MFLAGS) BINDIR=$(REAL_BINDIR)"
+	print	"samples 	= samples"
+	print	""
+	print	"TESTS = \\"
+	print	"	$(samples)/ncurses \\"
+	print	"	$(samples)/rain \\"
+	print	"	$(samples)/tour"
+	print	""
+	print	"DATAFILES = \\"
+	print	"	$(samples)/explain.txt"
+	print	""
+	print	"all:: $(TESTS)"
+	print	""
+	print	"# we might install the example-programs"
+	print	"$(PACKAGE) :"
+	print	"	@echo \"creating $(PACKAGE) script\""
+	print	"	@$(SHELL) -c '\\"
+	print	"	L=$(real_bindir);                            \\"
+	print	"	rm -f $@;                                    \\"
+	print	"	echo \"#!$(SHELL)\" >                     $@;\\"
+	print	"	echo \"PATH=\\\"$$L\\\":\\$$PATH\"      >>$@;\\"
+	print	"	echo \"export PATH\"                    >>$@;\\"
+	print	"	echo \"if test \\$$# != 0; then\"       >>$@;\\"
+	print	"	echo \"  exec \\\"\\$$@\\\"\"           >>$@;\\"
+	print	"	echo \"elif test -t 1; then\"           >>$@;\\"
+	print	"	echo \"  cd \\\"$$L\\\" || exit\"       >>$@;\\"
+	print	"	echo \"  ls -l | \\$${PAGER:-less}\"    >>$@;\\"
+	print	"	echo \"fi\"                             >>$@;\\"
+	print	"	echo \"echo \\\"usage: $@ [program]\\\"\" >>$@'"
+	print	""
+	print	"install \\"
+	print	"install.examples:: $(PACKAGE) $(BINDIR) $(REAL_BINDIR) $(DATADIR) $(TESTS)"
+	print	"	@echo \"installing $(PACKAGE) -> $(BINDIR)/\""
+	print	"	$(INSTALL_SCRIPT) $(PACKAGE) $(BINDIR)"
+	print	"	( cd samples && $(MAKE) $(SUB_MFLAGS) install.examples )"
+	print	""
+	print	"uninstall \\"
+	print	"uninstall.examples ::"
+	print	"	-rm -f $(BINDIR)/$(PACKAGE)"
+	print	"	( cd samples && $(MAKE) $(SUB_MFLAGS) uninstall.examples )"
+	print	""
+	print	"clean \\"
+	print	"mostlyclean \\"
+	print	"realclean \\"
+	print	"distclean ::"
+	print	"	-rm -f $(PACKAGE)"
+	print	""
+	print	"$(BINDIR) $(REAL_BINDIR) $(DATADIR) :"
+	print	"	mkdir -p $@"
+
+	}
