]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/mk-test.awk
ncurses 6.3 - patch 20220521
[ncurses.git] / test / mk-test.awk
index 9be0361bfd10c7756c7eb373c4b8fdb18c858f8d..a194a5d4ee7fb322d18c5ac2a8a847d0460756da 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.30 2021/12/19 16:54:36 tom Exp $
 ##############################################################################
-# Copyright (c) 2006,2007 Free Software Foundation, Inc.                     #
+# Copyright 2019-2020,2021 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,115 @@ 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   "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   "$(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.test: $(PACKAGE) $(BINDIR) $(REAL_BINDIR) $(DATADIR) $(TESTS)"
+
+               print   "       @echo \"installing $(PACKAGE) -> $(BINDIR)/\""
+               print   "       @$(INSTALL_SCRIPT) $(PACKAGE) $(BINDIR)"
+
+               print   "       @$(SHELL) -c 'for src in $(TESTS); do \\"
+               print   "       dst=`echo $$src | $(TRANSFORM)`; \\"
+               print   "       echo \"installing $$src -> $(REAL_BINDIR)/$$dst\"; \\"
+               print   "       $(INSTALL_PROG) $$src $(REAL_BINDIR)/$$dst; \\"
+               print   "       done'"
+
+               print   "       @$(SHELL) -c 'for src in $(SCRIPTS); do \\"
+               print   "       dst=`echo $$src | sed -e 's,^.*/,,' | $(TRANSFORM)`; \\"
+               print   "       echo \"installing $$src -> $(REAL_BINDIR)/$$dst\"; \\"
+               print   "       $(INSTALL_SCRIPT) $$src $(REAL_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   "       -rm -f $(BINDIR)/$(PACKAGE)"
+
+               print   "       @$(SHELL) -c 'for src in $(TESTS); do \\"
+               print   "       dst=`echo $$src | $(TRANSFORM)`; \\"
+               print   "       rm -f $(REAL_BINDIR)/$$dst; \\"
+               print   "       done'"
+
+               print   "       @$(SHELL) -c 'for src in $(SCRIPTS); do \\"
+               print   "       dst=`echo $$src | sed -e 's,^.*/,,' | $(TRANSFORM)`; \\"
+               print   "       rm -f $(REAL_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   "       -rm -f $(PACKAGE)"
        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) $(REAL_BINDIR) $(DATADIR) :"
+       print   "       mkdir -p $@"
+
 
        if (ECHO_LINK != "") {
                ECHO_LINK="@ echo linking $@ ... ;"