ncurses 6.2 - patch 20200627
[ncurses.git] / test / mk-test.awk
index 9be0361bfd10c7756c7eb373c4b8fdb18c858f8d..ac4203aaac56a3d4b10d7f2b61123cce167c1c9c 100644 (file)
@@ -1,6 +1,7 @@
-# $Id: mk-test.awk,v 1.5 2007/01/20 21:28:47 tom Exp $
+# $Id: mk-test.awk,v 1.23 2020/02/02 23:34:34 tom Exp $
 ##############################################################################
-# Copyright (c) 2006,2007 Free Software Foundation, Inc.                     #
+# Copyright 2019,2020 Thomas E. Dickey                                       #
+# Copyright 2006-2017,2018 Free Software Foundation, Inc.                    #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -67,37 +68,93 @@ END {
                }
                print "";
        }
+       print   "SCRIPTS = \\"
+       print   "       $(srcdir)/savescreen.sh \\"
+       print   "       $(srcdir)/tput-colorcube \\"
+       print   "       $(srcdir)/tput-initc \\"
+       print   "       $(srcdir)/tracemunch"
+       print   "DATAFILES = \\"
+       print   "       $(srcdir)/*.x* \\"
+       print   "       $(srcdir)/*.dat"
        print   ""
        print   "all: $(TESTS)"
        print   ""
        print   "sources:"
        print   ""
+       print   "check:"
+       print   "       @ echo The test-programs are interactive"
        print   "tags:"
-       print   "       ctags *.[ch]"
+       print   "       $(CTAGS) *.[ch]"
        print   ""
+       print   "# no libraries here"
        print   "libs \\"
-       print   "install \\"
        print   "install.libs \\"
-       print   "install.test:"
-       print   ""
-       print   "uninstall:"
        print   "uninstall.libs:"
-       print   "uninstall.test:"
+       print   ""
+       if (INSTALL == "yes") {
+               print   "# we might install the test-programs"
+               print   "install \\"
+               print   "install.test: $(BINDIR) $(DATADIR) $(TESTS)"
+
+               print   "       @$(SHELL) -c 'for src in $(TESTS); do \\"
+               print   "       dst=`echo $$src | $(TRANSFORM)`; \\"
+               print   "       echo \"installing $$src -> $(BINDIR)/$$dst\"; \\"
+               print   "       $(INSTALL_PROG) $$src $(BINDIR)/$$dst; \\"
+               print   "       done'"
+
+               print   "       @$(SHELL) -c 'for src in $(SCRIPTS); do \\"
+               print   "       dst=`echo $$src | sed -e 's,^.*/,,' | $(TRANSFORM)`; \\"
+               print   "       echo \"installing $$src -> $(BINDIR)/$$dst\"; \\"
+               print   "       $(INSTALL_SCRIPT) $$src $(BINDIR)/$$dst; \\"
+               print   "       done'"
+
+               print   "       @$(SHELL) -c 'for src in $(DATAFILES); do \\"
+               print   "       dst=`echo $$src | sed -e 's,^.*/,,'`; \\"
+               print   "       echo \"installing $$src -> $(DATADIR)/$$dst\"; \\"
+               print   "       $(INSTALL_DATA) $$src $(DATADIR)/$$dst; \\"
+               print   "       done'"
+               print   ""
+               print   "uninstall \\"
+               print   "uninstall.test:"
+
+               print   "       @$(SHELL) -c 'for src in $(TESTS); do \\"
+               print   "       dst=`echo $$src | $(TRANSFORM)`; \\"
+               print   "       rm -f $(BINDIR)/$$dst; \\"
+               print   "       done'"
+
+               print   "       @$(SHELL) -c 'for src in $(SCRIPTS); do \\"
+               print   "       dst=`echo $$src | sed -e 's,^.*/,,' | $(TRANSFORM)`; \\"
+               print   "       rm -f $(BINDIR)/$$dst; \\"
+               print   "       done'"
+
+               print   "       @$(SHELL) -c 'for src in $(DATAFILES); do \\"
+               print   "       dst=`echo $$src | sed -e 's,^.*/,,'`; \\"
+               print   "       rm -f $(DATADIR)/$$dst; \\"
+               print   "       done'"
+       } else {
+               print   "install \\"
+               print   "install.test \\"
+               print   "uninstall \\"
+               print   "uninstall.test:"
+       }
        print   ""
        print   "mostlyclean ::"
        print   "       -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace"
        print   ""
        print   "clean :: mostlyclean"
-       print   "       -sh -c \"if test -n '$x' ; then $(MAKE) clean x=''; fi\""
-       print   "       -rm -rf *$o screendump *.lis $(TESTS) .libs"
+       print   "       -$(SHELL) -c \"if test -n '$x' ; then $(MAKE) clean x=''; fi\""
+       print   "       -rm -rf *$o screendump *.lis $(TESTS) .libs *.dSYM"
        print   ""
        print   "distclean :: clean"
-       print   "       -rm -f Makefile ncurses_cfg.h config.*"
+       print   "       -rm -f Makefile ncurses_cfg.h config.status config.log"
        print   ""
        print   "realclean :: distclean"
        print   ""
        print   "lint:"
-       print   "       sh -c 'for N in $(TESTS); do echo LINT:$$N; $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/$$N.c $(LINT_LIBS); done'"
+       print   "       $(SHELL) -c 'for N in $(TESTS); do echo LINT:$$N; $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/$$N.c $(LINT_LIBS); done'"
+       print   "$(BINDIR) $(DATADIR) :"
+       print   "       mkdir -p $@"
+
 
        if (ECHO_LINK != "") {
                ECHO_LINK="@ echo linking $@ ... ;"