X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=mk-0th.awk;h=fe91cca689f65883f5eb2fe3e3a9f72a294d722a;hp=a4a3a54325143e0624fdf7fea4a052693c53668c;hb=3ec8f79f3ceda990461c80de2f96d66b886e00d5;hpb=3a9b6a3bf0269231bef7de74757a910dedd04e0c;ds=sidebyside diff --git a/mk-0th.awk b/mk-0th.awk index a4a3a543..fe91cca6 100644 --- a/mk-0th.awk +++ b/mk-0th.awk @@ -1,69 +1,108 @@ -# $Id: mk-0th.awk,v 1.3 1996/12/01 00:27:23 tom Exp $ -################################################################################ -# Copyright 1996 by Thomas E. Dickey # -# All Rights Reserved. # -# # -# Permission to use, copy, modify, and distribute this software and its # -# documentation for any purpose and without fee is hereby granted, provided # -# that the above copyright notice appear in all copies and that both that # -# copyright notice and this permission notice appear in supporting # -# documentation, and that the name of the above listed copyright holder(s) not # -# be used in advertising or publicity pertaining to distribution of the # -# software without specific, written prior permission. THE ABOVE LISTED # -# COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, # -# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT # -# SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY SPECIAL, # -# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM # -# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE # -# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # -# PERFORMANCE OF THIS SOFTWARE. # -################################################################################ +# $Id: mk-0th.awk,v 1.17 2005/01/22 16:31:40 tom Exp $ +############################################################################## +# Copyright (c) 1998-2004,2005 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"), # +# 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 1996,1997 +# # Generate list of sources for a library, together with lint/lintlib rules # # Variables: -# name (library name, e.g., "ncurses", "panel", "forms", "menus") +# libname (library name, e.g., "ncurses", "panel", "forms", "menus") +# subsets (is used here to decide if wide-character code is used) # BEGIN { - print "" - print "# generated by mk-0th.awk" - print "" + using = 0; found = 0; } - !/^#/ { - if ( $2 == "lib" ) + !/^[@#]/ { + if (using == 0) + { + print "" + print "# generated by mk-0th.awk" + printf "# libname: %s\n", libname + printf "# subsets: %s\n", subsets + print "" + print ".SUFFIXES: .c .cc .h .i .ii" + print ".c.i :" + printf "\t$(CPP) $(CPPFLAGS) $< >$@\n" + print ".cc.ii :" + printf "\t$(CPP) $(CPPFLAGS) $< >$@\n" + print ".h.i :" + printf "\t$(CPP) $(CPPFLAGS) $< >$@\n" + print "" + using = 1; + } + if ( $0 != "" && $1 != "link_test" ) { if ( found == 0 ) { + if ( subsets ~ /widechar/ ) + widechar = 1; + else + widechar = 0; printf "C_SRC =" - found = 1 + if ( $2 == "lib" ) + found = 1 + else + found = 2 + } + if ( libname == "c++" || libname == "c++w" ) { + printf " \\\n\t%s/%s.cc", $3, $1 + } else if ( widechar == 1 || $3 != "$(wide)" ) { + printf " \\\n\t%s/%s.c", $3, $1 } - printf " \\\n\t%s/%s.c", $3, $1 } } END { print "" - if ( found != 0 ) + if ( found == 1 ) { print "" - printf "# Producing llib-l%s is time-consuming, so there's no direct-dependency for\n", name + printf "# Producing llib-l%s is time-consuming, so there's no direct-dependency for\n", libname print "# it in the lintlib rule. We'll only remove in the cleanest setup." print "clean ::" - printf "\trm -f llib-l%s.*\n", name + printf "\trm -f llib-l%s.*\n", libname print "" print "realclean ::" - printf "\trm -f llib-l%s\n", name + printf "\trm -f llib-l%s\n", libname print "" - printf "llib-l%s : $(C_SRC)\n", name - printf "\tcproto -a -l -DLINT $(CPPFLAGS) $(C_SRC) >$@\n" + printf "llib-l%s : $(C_SRC)\n", libname + printf "\tcproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(C_SRC) >$@\n" print "" print "lintlib :" - printf "\t$(srcdir)/../misc/makellib %s $(CPPFLAGS)", name + printf "\tsh $(srcdir)/../misc/makellib %s $(CPPFLAGS)", libname print "" print "lint :" print "\t$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(C_SRC) $(LINT_LIBS)" } else { + print "" print "lintlib :" print "\t@echo no action needed" }