1#!/bin/make
2#
3# custom - makefile for calc custom routines
4#
5# Copyright (C) 1999-2006,2014,2017-2018,2021  Landon Curt Noll
6#
7# SRC: custom/Makefile
8#
9#	The "# SRC: ... - ..." comment line above indicates
10#	the origin of this file.
11#
12# IMPORTANT: Please see the section on Makefiles near the
13#	     bottom of the HOWTO.INSTALL file.
14#
15# Calc is open software; you can redistribute it and/or modify it under
16# the terms of the version 2.1 of the GNU Lesser General Public License
17# as published by the Free Software Foundation.
18#
19# Calc is distributed in the hope that it will be useful, but WITHOUT
20# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21# or FITNESS FOR A PARTICULAR PURPOSE.	See the GNU Lesser General
22# Public License for more details.
23#
24# A copy of version 2.1 of the GNU Lesser General Public License is
25# distributed with calc under the filename COPYING-LGPL.  You should have
26# received a copy with calc; if not, write to Free Software Foundation, Inc.
27# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
28#
29# Under source code control:	1997/03/09 02:28:54
30# File existed as early as:	1997
31#
32# chongo <was here> /\oo/\	http://www.isthe.com/chongo/
33# Share and enjoy!  :-) http://www.isthe.com/chongo/tech/comp/calc/
34#
35# calculator by David I. Bell with help/mods from others
36# Makefile by Landon Curt Noll
37
38
39# The shell used by this Makefile
40#
41# On some systems, /bin/sh is a rather reduced shell with
42# deprecated behavior.
43#
44# If your system has a up to date, bash shell, then
45# you may wish to use:
46#
47#	SHELL= /bin/sh
48#
49# On some systems such as macOS, the bash shell is very
50# far behind to the point where is cannot be depended on.
51# On such systems, the zsh may be a much better alternative
52# shell for this Makefile to use:
53#
54#	SHELL= /bin/zsh
55#
56SHELL= /bin/sh
57#SHELL= /bin/sh
58#if 0	/* start of skip for non-Gnu makefiles */
59ifeq ($(target),Darwin)
60SHELL:= /bin/zsh
61endif
62#endif	/* end of skip for non-Gnu makefiles */
63
64
65# PREFIX - Top level location for calc
66#
67# The PREFIX is often prepended to paths within calc and calc Makefiles.
68#
69# Starting with calc v2.13.0.1, nearly all Makefile places that used
70# /usr/local now use ${PREFIX}.  An exception is the olduninstall rule
71# and, of course, this section. :-)
72#
73# NOTE: The ${PREFIX} is not the same as ${T}.  The ${T} specifies
74#	a top level directory under which calc installs things.
75#	While usually ${T} is empty, it can be specific path
76#	as if calc where "chrooted" during an install.
77#	The ${PREFIX} value, during install, is a path between
78#	the top level ${T} install directory and the object
79#	such as an include file.
80#
81# NOTE: See also, ${T}, below.
82#
83# There are some paths that do NOT call under ${PREFIX}, such as
84# ${CALCPATH}, that include paths not under ${PREFIX}, but those
85# too are exceptions to this general rule.
86#
87# When in doubt, try:
88#
89#	PREFIX= /usr/local
90#
91PREFIX= /usr/local
92#PREFIX= /usr
93#PREFIX= /usr/global
94
95
96# CCBAN is given to ${CC} in order to control if banned.h is in effect.
97#
98# The banned.h attempts to ban the use of certain dangerous functions
99# that, if improperly used, could compromise the computational integrity
100# if calculations.
101#
102# In the case of calc, we are motivated in part by the desire for calc
103# to correctly calculate: even during extremely long calculations.
104#
105# If UNBAN is NOT defined, then calling certain functions
106# will result in a call to a non-existent function (link error).
107#
108# While we do NOT encourage defining UNBAN, there may be
109# a system / compiler environment where re-defining a
110# function may lead to a fatal compiler complication.
111# If that happens, consider compiling as:
112#
113#	make clobber all chk CCBAN=-DUNBAN
114#
115# as see if this is a work-a-round.
116#
117# If YOU discover a need for the -DUNBAN work-a-round, PLEASE tell us!
118# Please send us a bug report.  See the file:
119#
120#	BUGS
121#
122# or the URL:
123#
124#	http://www.isthe.com/chongo/tech/comp/calc/calc-bugrept.html
125#
126# for how to send us such a bug report.
127#
128CCBAN= -UUNBAN
129#CCBAN= -DUNBAN
130
131
132#if 0	/* start of skip for non-Gnu makefiles */
133
134# Unfortunately due to the complex dependency issues between
135# Makefile, and custom/Makefile, parallel GNU make
136# is NOT recommended.
137#
138# XXX - fix this - XXX
139#
140.NOTPARALLEL:
141
142##############################################################################
143#-=-=-=-=-=-=-=-=- Identify the target machine, if possible -=-=-=-=-=-=-=-=-#
144##############################################################################
145
146# NOTE: You can force a target value by defining target as in:
147#
148#	make ...__optional_arguments_... target=value
149
150# Try uname -s if the target was not already set on the make command line
151#
152ifeq ($(target),)
153target=$(shell uname -s 2>/dev/null)
154endif
155#endif	/* end of skip for non-Gnu makefiles */
156
157# The custom calc resource files to install
158#
159# Put your custom calc resource files here.
160#
161CUSTOM_CALC_FILES= argv.cal halflen.cal pzasusb8.cal pmodm127.cal register.cal
162
163# The custom help files to install
164#
165# Put your custom help files here.
166#
167CUSTOM_HELP= argv devnull help sysinfo pzasusb8 pmodm127 register
168
169# Any .h files that are needed by programs that use
170# libcustcalc${LIB_EXT_VERSION}
171#
172# Put any .h files that you add which might be useful to other
173# programs here.
174#
175CUSTOM_H_SRC=
176
177# Any .c files that are needed to build libcustcalc${LIB_EXT_VERSION}.
178#
179# Don't put ${REQUIRED_SRC} files in this list.
180#
181# There MUST be a .c in CUSTOM_SRC for every .o in CUSTOM_OBJ.
182#
183# Put your custom .c files here.
184#
185CUSTOM_SRC= c_argv.c c_devnull.c c_help.c c_sysinfo.c c_pzasusb8.c \
186	c_pmodm127.c c_register.c
187
188# Any .o files that are needed by program that use
189# libcustcalc${LIB_EXT_VERSION}.
190#
191# Don't put ${REQUIRED_OBJ} files in this list.
192#
193# There MUST be a .c in CUSTOM_SRC for every .o in CUSTOM_OBJ.
194#
195# Put your custom .o files here.
196#
197CUSTOM_OBJ= c_argv.o c_devnull.o c_help.o c_sysinfo.o c_pzasusb8.o \
198	c_pmodm127.o c_register.o
199
200##############################################################################
201#-=-=-=-=-=-=-=-=- You may want to change some values below -=-=-=-=-=-=-=-=-#
202##############################################################################
203
204##############################################################################
205#-=-=-=-=-=-=- Defaults in case you want to build from this dir -=-=-=-=-=-=-#
206##############################################################################
207
208# Normally, the upper level makefile will set these values.  We provide
209# a default here just in case you want to build from this directory.
210
211# Makefile debug
212#
213# Q=@	do not echo internal Makefile actions (quiet mode)
214# Q=	echo internal Makefile actions (debug / verbose mode)
215#
216# H=@:	do not report hsrc file formation progress
217# H=@	do echo hsrc file formation progress
218#
219# S= >/dev/null 2>&1	silence ${CC} output during hsrc file formation
220# S=			full ${CC} output during hsrc file formation
221#
222# E= 2>/dev/null	silence command stderr during hsrc file formation
223# E=			full command stderr during hsrc file formation
224#
225# V=@:	do not echo debug statements (quiet mode)
226# V=@	do echo debug statements (debug / verbose mode)
227#
228#Q=
229Q=@
230#
231S= >/dev/null 2>&1
232#S=
233#
234E= 2>/dev/null
235#E=
236#
237#H=@:
238H=@
239#
240V=@:
241#V=@
242
243####
244# Normally, the upper level makefile will set these values.  We provide
245# a default here just in case you want to build from this directory.
246####
247
248# Where the system include (.h) files are kept
249#
250# For DJGPP, select:
251#
252#	INCDIR= /dev/env/DJDIR/include
253#
254# If in doubt, set:
255#
256#	INCDIR= /usr/include
257#
258
259#INCDIR= ${PREFIX}/include
260#INCDIR= /dev/env/DJDIR/include
261INCDIR= /usr/include
262
263# where to install calc related things
264#
265# ${BINDIR}		where to install calc binary files
266# ${LIBDIR}		where calc link library (*.a) files are installed
267# ${CALC_SHAREDIR}	where to install calc help, .cal, startup, config files
268#
269# NOTE: The install rule prepends installation paths with ${T}, which
270#	by default is empty.  If ${T} is non-empty, then installation
271#	locations will be relative to the ${T} directory.
272#
273# For DJGPP, select:
274#
275#	BINDIR= /dev/env/DJDIR/bin
276#	LIBDIR= /dev/env/DJDIR/lib
277#	CALC_SHAREDIR= /dev/env/DJDIR/share/calc
278#
279# If in doubt, set:
280#
281#	BINDIR= /usr/bin
282#	LIBDIR= /usr/lib
283#	CALC_SHAREDIR= /usr/share/calc
284#
285#BINDIR= ${PREFIX}/bin
286#BINDIR= /dev/env/DJDIR/bin
287BINDIR= /usr/bin
288
289#LIBDIR= ${PREFIX}/lib
290#LIBDIR= /dev/env/DJDIR/lib
291LIBDIR= /usr/lib
292
293#CALC_SHAREDIR= ${PREFIX}/lib/calc
294#CALC_SHAREDIR= /dev/env/DJDIR/share/calc
295CALC_SHAREDIR= /usr/share/calc
296
297# By default, these values are based CALC_SHAREDIR, INCDIR, BINDIR
298# ---------------------------------------------------------------
299# ${HELPDIR}		where the help directory is installed
300# ${CALC_INCDIR}	where the calc include files are installed
301# ${CUSTOMCALDIR}	where custom *.cal files are installed
302# ${CUSTOMHELPDIR}	where custom help files are installed
303# ${CUSTOMINCDIR}	where custom .h files are installed
304# ${SCRIPTDIR}		where calc shell scripts are installed
305#
306# NOTE: The install rule prepends installation paths with ${T}, which
307#	by default is empty.  If ${T} is non-empty, then installation
308#	locations will be relative to the ${T} directory.
309#
310# If in doubt, set:
311#
312#	HELPDIR= ${CALC_SHAREDIR}/help
313#	CALC_INCDIR= ${INCDIR}/calc
314#	CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
315#	CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
316#	CUSTOMINCDIR= ${CALC_INCDIR}/custom
317#	SCRIPTDIR= ${BINDIR}/cscript
318#
319HELPDIR= ${CALC_SHAREDIR}/help
320CALC_INCDIR= ${INCDIR}/calc
321CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
322CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
323CUSTOMINCDIR= ${CALC_INCDIR}/custom
324SCRIPTDIR= ${BINDIR}/cscript
325
326# T - top level directory under which calc will be installed
327#
328# The calc install is performed under ${T}, the calc build is
329# performed under /.	The purpose for ${T} is to allow someone
330# to install calc somewhere other than into the system area.
331#
332# For example, if:
333#
334#     BINDIR= /usr/bin
335#     LIBDIR= /usr/lib
336#     CALC_SHAREDIR= /usr/share/calc
337#
338# and if:
339#
340#     T= /var/tmp/testing
341#
342# Then the installation locations will be:
343#
344#     calc binary files:	/var/tmp/testing/usr/bin
345#     calc link library:	/var/tmp/testing/usr/lib
346#     calc help, .cal ...:	/var/tmp/testing/usr/share/calc
347#     ... etc ...		/var/tmp/testing/...
348#
349# If ${T} is empty, calc is installed under /, which is the same
350# top of tree for which it was built.  If ${T} is non-empty, then
351# calc is installed under ${T}, as if one had to chroot under
352# ${T} for calc to operate.
353#
354# If in doubt, use T=
355#
356T=
357
358# Debug/Optimize options for ${CC} and ${LCC}
359#
360# Select DEBUG= -O2 -gstabs+ -D_WIN32 for DJGPP.
361#
362#DEBUG=
363#
364#DEBUG= -O
365#DEBUG= -O -g
366#DEBUG= -O -g3
367#
368#DEBUG= -O1
369#DEBUG= -O1 -g
370#DEBUG= -O1 -g3
371#
372#DEBUG= -O2
373#DEBUG= -O2 -g
374#DEBUG= -O2 -g3
375#DEBUG= -O2 -ipa
376#DEBUG= -O2 -g3 -ipa
377#
378#DEBUG= -O3
379#DEBUG= -O3 -g
380DEBUG= -O3 -g3
381#DEBUG= -O3 -ipa
382#DEBUG= -O3 -g3 -ipa
383#
384#DEBUG= -g
385#DEBUG= -g3
386#DEBUG= -gx
387#DEBUG= -WM,-g
388#
389#DEBUG= -O2 -gstabs+ -D_WIN32
390
391# Some systems require one to use ranlib to add a symbol table to
392# a *.a link library.  Set RANLIB to the utility that performs this
393# action.  Set RANLIB to : if your system does not need such a utility.
394#
395RANLIB=ranlib
396#RANLIB=:
397
398# Normally certain files depend on the Makefile.  If the Makefile is
399# changed, then certain steps should be redone.	 If MAKE_FILE is
400# set to Makefile, then these files will depend on Makefile.  If
401# MAKE_FILE is empty, then they wont.
402#
403# If in doubt, set MAKE_FILE to Makefile
404#
405MAKE_FILE= Makefile
406#MAKE_FILE=
407
408# If you do not wish to use purify, set PURIFY to an empty string.
409#
410# If in doubt, use PURIFY=
411#
412#PURIFY= purify
413#PURIFY= purify -m71-engine
414#PURIFY= purify -logfile=pure.out
415#PURIFY= purify -m71-engine -logfile=pure.out
416PURIFY=
417
418# If you want to use a debugging link library such as a malloc debug link
419# library, or need to add special ld flags after the calc link libraries
420# are included, set ${LD_DEBUG} below.
421#
422# If in doubt, set LD_DEBUG to empty.
423#
424#LD_DEBUG= -lmalloc_cv
425LD_DEBUG=
426
427# When doing a:
428#
429#	make check
430#	make chk
431#	make debug
432#
433# the ${CALC_ENV} is used to supply the proper environment variables
434# to calc.  Most people will simply need 'CALCPATH=./cal' to ensure
435# that these debug rules will only use calc resource files under the
436# local source directory.  The longer lines (with MALLOC_VERBOSE=1 ...)
437# are useful for SGI IRIX people who have 'WorkShop Performance Tools'
438# and who also set 'LD_DEBUG= -lmalloc_cv' above.
439#
440# If in doubt, use CALC_ENV= CALCPATH=./cal.
441#
442CALC_ENV= CALCPATH=./cal
443#CALC_ENV= CALCPATH=./cal MALLOC_VERBOSE=1 MALLOC_TRACING=1 \
444#	  MALLOC_FASTCHK=1 MALLOC_FULLWARN=1
445#CALC_ENV= CALCPATH=./cal MALLOC_VERBOSE=1 MALLOC_TRACING=1 \
446#	  MALLOC_FASTCHK=1 MALLOC_FULLWARN=1 MALLOC_CLEAR_FREE=1 \
447#	  MALLOC_CLEAR_MALLOC=1
448
449# By default, custom builtin functions may only be executed if calc
450# is given the -C option.  This is because custom builtin functions
451# may invoke non-standard or non-portable code.	 One may completely
452# disable custom builtin functions by not compiling any of code
453#
454# ALLOW_CUSTOM= -DCUSTOM	# allow custom only if -C is given
455# ALLOW_CUSTOM=			# disable custom even if -C is given
456#
457# If in doubt, use ALLOW_CUSTOM= -DCUSTOM
458#
459ALLOW_CUSTOM= -DCUSTOM
460#ALLOW_CUSTOM=
461
462# Some out of date operating systems require / want an executable to
463# end with a certain file extension.  Some compile systems such as
464# Cygwin build calc as calc.exe.  The EXT variable is used to denote
465# the extension required by such.
466#
467# EXT=				# normal Un*x / Linux / GNU/Linux systems
468# EXT=.exe			# Windows / Cygwin
469#
470# If in doubt, use EXT=
471#
472EXT=
473#EXT=.exe
474
475# The default calc versions
476#
477VERSION= 2.14.0.14
478
479# Names of shared libraries with versions
480#
481LIB_EXT= .so
482LIB_EXT_VERSION= ${LIB_EXT}.${VERSION}
483
484# standard tools
485#
486AR= ar
487AWK= awk
488CHMOD= chmod
489CMP= cmp
490CO= co
491CP= cp
492DIFF= diff
493FMT= fmt
494GREP= egrep
495LN= ln
496LS= ls
497MAKE= make
498MAKEDEPEND= makedepend
499MKDIR= mkdir
500MV= mv
501RM= rm
502RMDIR= rmdir
503SED= sed
504SORT= sort
505TAIL= tail
506TOUCH= touch
507TRUE= true
508
509# EXTRA_CFLAGS are flags given to ${CC} when compiling C files
510# EXTRA_LDFLAGS are flags given to ${CC} when linking progs
511#
512# Both CFLAGS and LDFLAGS are left blank in this Makefile by
513# default so that users may use them on the make command line
514# to always the way that C is compiled and files are linked
515# respectively.  For example:
516#
517#	make all EXTRA_CFLAGS="-DMAGIC" EXTRA_LDFLAGS="-lmagic"
518#
519# NOTE: These should be left blank in this Makefile to make it
520#       easier to add stuff on the command line.  If you want to
521#	to change the way calc is compiled by this Makefile, change
522#	the appropriate host target section below or a flag above.
523#
524EXTRA_CFLAGS=
525EXTRA_LDFLAGS=
526
527# COMMON_CFLAGS are the common ${CC} flags used for all progs, both
528#	    intermediate and final calc and calc related progs
529#
530COMMON_CFLAGS= -DCALC_SRC ${ALLOW_CUSTOM} ${CCWARN} ${CCMISC} ${EXTRA_CFLAGS}
531
532# COMMON_LDFLAGS are the common flags used for linking all progs, both
533#	     intermediate and final calc and calc related progs
534#
535COMMON_LDFLAGS= ${EXTRA_LDFLAGS}
536
537###########################################
538# Set the default compile flags for ${CC} #
539###########################################
540
541#if 0	/* start of skip for non-Gnu makefiles */
542
543# Required flags to compile C files for calc
544#
545# ICFLAGS are given to ${CC} for intermediate progs used to help compile calc
546# CFLAGS are given to ${CC} for calc progs other than intermediate progs
547#
548# NOTE: This does not work for: make-XYZ-only and BLD_TYPE != make-XYZ-only
549#
550ifeq ($(BLD_TYPE),calc-static-only)
551ICFLAGS= ${COMMON_CFLAGS} ${CCBAN} ${CC_STATIC}
552else
553ICFLAGS= ${COMMON_CFLAGS} ${CCBAN} ${CC_SHARE}
554endif
555CFLAGS= ${ICFLAGS} ${CCOPT}
556
557# Required flags to link files for calc
558#
559# ILDFLAGS for ${CC} in linking intermediate progs used to help compile calc
560# LDFLAGS for ${CC} in linking calc progs other than intermediate progs
561#
562ILDFLAGS= ${COMMON_LDFLAGS}
563LDFLAGS= ${LD_DEBUG} ${ILDFLAGS}
564
565#endif	/* end of skip for non-Gnu makefiles */
566
567##########################################################################
568#=-=-=-=-=- Be careful if you change something below this line -=-=-=-=-=#
569##########################################################################
570
571# include start from top Makefile - keep this line
572#if 0	/* start of skip for non-Gnu makefiles */
573###
574#
575# Allow Makefile.local to override any of the above settings
576#
577###
578EXCLUDE_FROM_CUSTOM_MAKEFILE=true	# include only middle of ../Makefile
579include ../Makefile
580#endif	/* end of skip for non-Gnu makefiles */
581# include end from top Makefile - keep this line
582
583# These .c files are required for the main custom interface and
584# for the custom support functions for libcustcalc${LIB_EXT_VERSION}.
585#
586# There MUST be a .c for every .o in REQUIRED_OBJ.
587#
588REQUIRED_SRC= custtbl.c
589
590# These .o files correspond to the .c files in REQUIRED_SRC
591# for libcustcalc${LIB_EXT_VERSION}.
592#
593# There MUST be a .o for every .c in REQUIRED_SRC.
594#
595REQUIRED_OBJ= custtbl.o
596
597# These .h files are installed under ${CUSTOMCALDIR} by the install rule.
598#
599INSTALL_H_SRC= ${CUSTOM_H_SRC}
600
601# These .c files are used to form libcustcalc${LIB_EXT_VERSION}.
602#
603CUSTCALC_SRC= ${REQUIRED_SRC} ${CUSTOM_SRC}
604
605# These .o files are used to form libcustcalc${LIB_EXT_VERSION}.
606#
607CUSTCALC_OBJ= ${REQUIRED_OBJ} ${CUSTOM_OBJ}
608
609# These .c files are used to build the dependency list
610#
611C_SRC= ${REQUIRED_SRC} ${CUSTOM_SRC}
612
613# These .h files are used to build the dependency list
614#
615H_SRC= ${CUSTOM_H_SRC}
616
617# These files are found (but not built) in the distribution
618#
619# The CUSTOM_CAL and HOW_TO_ADD are files distributed from this
620# directory but are installed as help files from the help/Makefile.
621#
622DISTLIST= ${CUSTCALC_SRC} ${CUSTOM_CALC_FILES} ${CUSTOM_HELP} \
623	${INSTALL_H_SRC} CUSTOM_CAL HOW_TO_ADD Makefile Makefile.simple
624
625# These files are used to make (but not built) a calc .a link library
626#
627CALCLIBLIST= ${CUSTCALC_SRC} ${INSTALL_H_SRC} ${MAKE_FILE} HOW_TO_ADD
628
629# This is the custom dynamic shared library that is build
630#
631CALC_DYNAMIC_LIBCUSTCALC= libcustcalc${LIB_EXT_VERSION}
632
633# This is the custom static library that is build
634#
635CALC_STATIC_LIBCUSTCALC= libcustcalc.a
636
637# complete list of targets
638#
639TARGETS= ${BLD_TYPE} Makefile.simple
640
641###
642#
643# The main reason for this Makefile	:-)
644#
645###
646
647all: ${TARGETS} ${INSTALL_H_SRC} ${CUSTOM_CALC_FILES} \
648	${CUSTOM_HELP} ${MAKE_FILE} .all
649
650calc-dynamic-only: ${CUSTCALC_OBJ} ${CALC_DYNAMIC_LIBCUSTCALC}
651
652calc-static-only: ${CUSTCALC_OBJ} ${CALC_STATIC_LIBCUSTCALC}
653
654custom/libcustcalc${LIB_EXT_VERSION}: libcustcalc${LIB_EXT_VERSION} \
655	${CALC_STATIC_LIBCUSTCALC}
656
657libcustcalc${LIB_EXT_VERSION}: ${CUSTCALC_OBJ} ${MAKE_FILE}
658	${CC} ${LIBCUSTCALC_SHLIB} ${CUSTCALC_OBJ} -o $@
659
660##
661#
662# Special .o files
663#
664##
665
666c_sysinfo.o: c_sysinfo.c ${MAKE_FILE}
667	${CC} ${CFLAGS} c_sysinfo.c -c
668
669##
670#
671# used by the upper level Makefile
672#
673##
674
675# to determine of we have done all
676#
677.all:
678	${RM} -f .all
679	${TOUCH} .all
680
681###
682#
683# building calc-static and static lib*.a libraries
684#
685###
686
687libcustcalc.a: ${CUSTCALC_OBJ} ${MAKE_FILE}
688	${RM} -f libcustcalc.a
689	${AR} qc libcustcalc.a ${CUSTCALC_OBJ}
690	${RANLIB} libcustcalc.a
691	${CHMOD} 0644 libcustcalc.a
692
693##
694#
695# File list generation.	 You can ignore this section.
696#
697#
698# We will form the names of source files as if they were in a
699# sub-directory called calc/lib.
700#
701# NOTE: Due to bogus shells found on one common system we must have
702#	an non-empty else clause for every if condition.  *sigh*
703#
704##
705
706distlist: ${DISTLIST}
707	${Q} for i in ${DISTLIST} /dev/null; do \
708	    if [ X"$$i" != X"/dev/null" ]; then \
709		echo custom/$$i; \
710	    fi; \
711	done
712
713distdir:
714	${Q} echo custom
715
716calcliblist: ${CALCLIBLIST}
717	${Q} for i in ${CALCLIBLIST} /dev/null; do \
718	    if [ X"$$i" != X"/dev/null" ]; then \
719		echo custom/$$i; \
720	    fi; \
721	done
722
723#if 0	/* start of skip for non-Gnu makefiles */
724Makefile.simple: Makefile ../Makefile
725	${V} echo '=-=-=-=-= custom/${MAKE_FILE} start of $@ rule =-=-=-=-='
726	${Q} if [ -f $@.bak ]; then \
727		echo "custom/$@.bak exists, remove or move it"; \
728		exit 1; \
729	else \
730	    ${TRUE}; \
731	fi
732	-${Q} if [ -f $@ ]; then \
733	    ${MV} -f $@ $@.bak; \
734	fi
735	${Q} ${AWK} '/^#if 0/{skp=1} {if(!skp){print $$0}} /^#endif/{skp=0}' \
736	     Makefile | \
737	     ${SED} -e '/^# include start from top Makefile - keep /,$$d' \
738		    -e 's;^# SRC:.*;# SRC: custom/$@ - non-GNU version;' \
739		    -e '/^ifeq /d' \
740		    -e '/^ifneq /d' \
741		    -e '/^ifdef /d' \
742		    -e '/^ifndef /d' \
743		    -e '/^else/d' \
744		    -e '/^endif/d' \
745		    > $@
746	${Q} echo '# include start from top Makefile - keep this line' \
747	     >> $@
748	${Q} ${AWK} '/^#if 0/{skp=1} {if(!skp){print $$0}} /^#endif/{skp=0}' \
749	     ../Makefile | \
750	     ${SED} -e '1,/^# include start from top Makefile - keep /d' \
751		    -e '/^# include end from top Makefile - keep /,$$d' \
752		    -e '/^ifeq /d' \
753		    -e '/^ifneq /d' \
754		    -e '/^ifdef /d' \
755		    -e '/^ifndef /d' \
756		    -e '/^else/d' \
757		    -e '/^endif/d' \
758		    >> $@
759	${Q} echo '# include end from top Makefile - keep this line' \
760	     >> $@
761	${Q} ${AWK} '/^#if 0/{skp=1} {if(!skp){print $$0}} /^#endif/{skp=0}' \
762	     Makefile | \
763	     ${SED} -e '1,/^# include end from top Makefile - keep /d' \
764		    -e '/^ifeq /d' \
765		    -e '/^ifneq /d' \
766		    -e '/^ifdef /d' \
767		    -e '/^ifndef /d' \
768		    -e '/^else/d' \
769		    -e '/^endif/d' \
770		    >> $@
771	-${Q} if [ -s $@.bak ]; then \
772	    if ${CMP} -s $@.bak $@; then \
773		echo 'custom/$@ was already up to date'; \
774		echo 'restoring original custom/$@'; \
775		${MV} -f $@.bak $@; \
776	    else \
777		echo 'old custom/$@ is now custom/$@.bak'; \
778		echo 'updated custom/$@ formed'; \
779		(cd .. ; ${DIFF} -u custom/$@.bak custom/$@); \
780	    fi; \
781	else \
782	    echo 'new custom/$@ formed'; \
783	    echo; \
784	    (cd .. ; ${LS} -l custom/$@); \
785	    echo; \
786	fi
787	${V} echo '=-=-=-=-= custom/${MAKE_FILE} end of $@ rule =-=-=-=-='
788#endif	/* end of skip for non-Gnu makefiles */
789
790##
791#
792# Home grown make dependency rules.  Your system make not support
793# or have the needed tools.  You can ignore this section.
794#
795# We will form a skeleton tree of *.c files containing only #include "foo.h"
796# lines and .h files containing the same lines surrounded by multiple include
797# prevention lines.  This allows us to build a static depend list that will
798# satisfy all possible cpp symbol definition combinations.
799#
800##
801
802depend:
803	${Q} if [ -f ${MAKE_FILE}.bak ]; then \
804	    echo "custom/${MAKE_FILE}.bak exists, remove or move it"; \
805	    exit 1; \
806	else \
807	    ${TRUE}; \
808	fi
809	${Q} echo forming custom/skel
810	${Q} ${RM} -rf skel
811	${Q} ${MKDIR} -p skel
812	${Q} ${MKDIR} -p skel/custom
813	-${Q} for i in ${C_SRC} /dev/null; do \
814	    if [ X"$$i" != X"/dev/null" ]; then \
815		${SED} -n '/^#[	 ]*include[	 ]*"/p' \
816		    "$$i" > "skel/custom/$$i"; \
817	    fi; \
818	done
819	-${Q} for i in ${H_SRC} /dev/null; do \
820	    if [ "$$i" = "/dev/null" ]; then continue; fi; \
821	    tag="`echo $$i | ${SED} 's/[\.+,:]/_/g'`"; \
822	    echo "#if !defined($$tag)" > "skel/custom/$$i"; \
823	    echo "#define $$tag" >> "skel/custom/$$i"; \
824	    ${SED} -n '/^#[	 ]*include[	 ]*"/p' "$$i" \
825		>> "skel/custom/$$i"; \
826	    echo '#endif /* '"$$tag"' */' >> "skel/custom/$$i"; \
827	done
828	${Q} (cd ..; ${MAKE} -f ${MAKE_FILE} hsrc)
829	${MAKE} -f ../${MAKE_FILE} h_list 2>/dev/null | \
830	    while read i; do \
831		if [ ! -f "../$$i" ]; then continue; fi; \
832		tag="`echo $$i | ${SED} 's/[\.+,:]/_/g'`"; \
833		echo "#if !defined($$tag)" > "skel/$$i"; \
834		echo "#define $$tag" >> "skel/$$i"; \
835		${SED} -n '/^#[	 ]*include[	 ]*"/p' "../$$i" \
836		    >> "skel/$$i"; \
837		echo '#endif /* '"$$tag"' */' >> "skel/$$i"; \
838	    done
839	${Q} ${RM} -f skel/custom/makedep.out skel/custom/makedep.in
840	${Q} echo custom/skel formed
841	${Q} echo forming custom dependency list
842	${Q} :> skel/custom/makedep.out
843	${Q} cd skel/custom; ${MAKEDEPEND} \
844	    -I../../.. -w 1 -f makedep.out -- \
845	    ${CFLAGS} -- \
846	    ${C_SRC} 2>/dev/null
847	${Q} ${CP} -f skel/custom/makedep.out skel/custom/makedep.in
848	${Q} ${SED} -e 's|: ../../|: |' -E < skel/custom/makedep.in | \
849	    ${GREP} -v /usr/include > skel/custom/makedep.out
850	-${Q} for i in ${C_SRC} /dev/null; do \
851	    if [ X"$$i" != X"/dev/null" ]; then \
852		echo "$$i" | ${SED} 's/^\(.*\)\.c/\1.o: \1.c/'; \
853	    fi; \
854	done >> skel/custom/makedep.out
855	${Q} LANG=C ${SORT} -u skel/custom/makedep.out \
856			    -o skel/custom/makedep.out
857	${Q} echo custom dependency list formed
858	${Q} echo forming new custom/${MAKE_FILE}
859	${Q} ${RM} -f ${MAKE_FILE}.bak
860	${Q} ${MV} ${MAKE_FILE} ${MAKE_FILE}.bak
861	${Q} ${SED} -n '1,/^# DO NOT DELETE THIS LINE/p' \
862		    ${MAKE_FILE}.bak > ${MAKE_FILE}
863	${Q} ${GREP} -v '^#' skel/custom/makedep.out >> ${MAKE_FILE}
864	${Q} echo removing skel
865	${Q} ${RM} -rf skel
866	-${Q} if ${CMP} -s ${MAKE_FILE}.bak ${MAKE_FILE}; then \
867	    echo 'custom/${MAKE_FILE} was already up to date'; \
868	    echo 'restoring original custom/${MAKE_FILE}'; \
869	    ${MV} -f ${MAKE_FILE}.bak ${MAKE_FILE}; \
870	else \
871	    echo 'old custom/${MAKE_FILE} is now custom/${MAKE_FILE}.bak'; \
872	    echo 'new custom/${MAKE_FILE} formed'; \
873	    echo 'try: diff -u custom/${MAKE_FILE}.bak custom/${MAKE_FILE}'; \
874	fi
875
876##
877#
878# rpm rules
879#
880##
881
882echo_inst_files:
883	${Q} for i in ${INSTALL_H_SRC} /dev/null; do \
884	    if [ X"$$i" != X"/dev/null" ]; then \
885		echo __file__ ${CUSTOMINCDIR}/$$i; \
886	    fi; \
887	done
888	${Q} for i in ${CUSTOM_HELP} /dev/null; do \
889	    if [ X"$$i" != X"/dev/null" ]; then \
890		echo __file__ ${CUSTOMHELPDIR}/$$i; \
891	    fi; \
892	done
893	${Q} for i in ${CUSTOM_CALC_FILES} /dev/null; do \
894	    if [ X"$$i" != X"/dev/null" ]; then \
895		echo __file__ ${CUSTOMCALDIR}/$$i; \
896	    fi; \
897	done
898	${Q} for i in ${CALC_DYNAMIC_LIBCUSTCALC} /dev/null; do \
899	    if [ X"$$i" != X"/dev/null" ]; then \
900		echo __file__ ${CUSTOMCALDIR}/$$i; \
901	    fi; \
902	done
903
904##
905#
906# Utility rules
907#
908##
909
910clean:
911	${RM} -f ${CUSTCALC_OBJ}
912
913clobber: clean
914	${RM} -f ${BLD_TYPE}
915	${RM} -f .all ${MAKE_FILE}.tmp ${MAKE_FILE}.bak
916	${RM} -f libcustcalc${LIB_EXT_VERSION}
917	${RM} -f libcustcalc${LIB_EXT}
918	${RM} -f libcustcalc.a
919	${RM} -f libcustcalc*
920	${RM} -rf skel
921	${V} echo remove files that are obsolete
922	-${Q} if [ -e .DS_Store ]; then \
923	    echo ${RM} -rf .DS_Store; \
924	    ${RM} -rf .DS_Store; \
925	fi
926
927# install everything
928#
929# NOTE: Keep the uninstall rule in reverse order to the install rule
930#
931install: all
932	-${Q} if [ ! -d ${T}${LIBDIR} ]; then \
933	    echo ${MKDIR} -p ${T}${LIBDIR}; \
934	    ${MKDIR} -p ${T}${LIBDIR}; \
935	    if [ ! -d "${T}${LIBDIR}" ]; then \
936		echo ${MKDIR} -p "${T}${LIBDIR}"; \
937		${MKDIR} -p "${T}${LIBDIR}"; \
938	    fi; \
939	    echo ${CHMOD} 0755 ${T}${LIBDIR}; \
940	    ${CHMOD} 0755 ${T}${LIBDIR}; \
941	else \
942	    ${TRUE}; \
943	fi
944	-${Q} if [ ! -d ${T}${INCDIR} ]; then \
945	    echo ${MKDIR} -p ${T}${INCDIR}; \
946	    ${MKDIR} -p ${T}${INCDIR}; \
947	    if [ ! -d "${T}${INCDIR}" ]; then \
948		echo ${MKDIR} -p "${T}${INCDIR}"; \
949		${MKDIR} -p "${T}${INCDIR}"; \
950	    fi; \
951	    echo ${CHMOD} 0755 ${T}${INCDIR}; \
952	    ${CHMOD} 0755 ${T}${INCDIR}; \
953	else \
954	    ${TRUE}; \
955	fi
956	-${Q} if [ ! -d ${T}${CALC_SHAREDIR} ]; then \
957	    echo ${MKDIR} -p ${T}${CALC_SHAREDIR}; \
958	    ${MKDIR} -p ${T}${CALC_SHAREDIR}; \
959	    if [ ! -d "${T}${CALC_SHAREDIR}" ]; then \
960		echo ${MKDIR} -p "${T}${CALC_SHAREDIR}"; \
961		${MKDIR} -p "${T}${CALC_SHAREDIR}"; \
962	    fi; \
963	    echo ${CHMOD} 0755 ${T}${CALC_SHAREDIR}; \
964	    ${CHMOD} 0755 ${T}${CALC_SHAREDIR}; \
965	else \
966	    ${TRUE}; \
967	fi
968	-${Q} if [ ! -d ${T}${CALC_INCDIR} ]; then \
969	    echo ${MKDIR} -p ${T}${CALC_INCDIR}; \
970	    ${MKDIR} -p ${T}${CALC_INCDIR}; \
971	    if [ ! -d "${T}${CALC_INCDIR}" ]; then \
972		echo ${MKDIR} -p "${T}${CALC_INCDIR}"; \
973		${MKDIR} -p "${T}${CALC_INCDIR}"; \
974	    fi; \
975	    echo ${CHMOD} 0755 ${T}${CALC_INCDIR}; \
976	    ${CHMOD} 0755 ${T}${CALC_INCDIR}; \
977	else \
978	    ${TRUE}; \
979	fi
980	-${Q} if [ ! -d ${T}${HELPDIR} ]; then \
981	    echo ${MKDIR} -p ${T}${HELPDIR}; \
982	    ${MKDIR} -p ${T}${HELPDIR}; \
983	    if [ ! -d "${T}${HELPDIR}" ]; then \
984		echo ${MKDIR} -p "${T}${HELPDIR}"; \
985		${MKDIR} -p "${T}${HELPDIR}"; \
986	    fi; \
987	    echo ${CHMOD} 0755 ${T}${HELPDIR}; \
988	    ${CHMOD} 0755 ${T}${HELPDIR}; \
989	else \
990	    ${TRUE}; \
991	fi
992	-${Q} if [ ! -d ${T}${CUSTOMCALDIR} ]; then \
993	    echo ${MKDIR} -p ${T}${CUSTOMCALDIR}; \
994	    ${MKDIR} -p ${T}${CUSTOMCALDIR}; \
995	    if [ ! -d "${T}${CUSTOMCALDIR}" ]; then \
996		echo ${MKDIR} -p "${T}${CUSTOMCALDIR}"; \
997		${MKDIR} -p "${T}${CUSTOMCALDIR}"; \
998	    fi; \
999	    echo ${CHMOD} 0755 ${T}${CUSTOMCALDIR}; \
1000	    ${CHMOD} 0755 ${T}${CUSTOMCALDIR}; \
1001	else \
1002	    ${TRUE}; \
1003	fi
1004	-${Q} if [ ! -d ${T}${CUSTOMHELPDIR} ]; then \
1005	    echo ${MKDIR} -p ${T}${CUSTOMHELPDIR}; \
1006	    ${MKDIR} -p ${T}${CUSTOMHELPDIR}; \
1007	    if [ ! -d "${T}${CUSTOMHELPDIR}" ]; then \
1008		echo ${MKDIR} -p "${T}${CUSTOMHELPDIR}"; \
1009		${MKDIR} -p "${T}${CUSTOMHELPDIR}"; \
1010	    fi; \
1011	    echo ${CHMOD} 0755 ${T}${CUSTOMHELPDIR}; \
1012	    ${CHMOD} 0755 ${T}${CUSTOMHELPDIR}; \
1013	else \
1014	    ${TRUE}; \
1015	fi
1016	-${Q} if [ ! -d ${T}${CUSTOMINCDIR} ]; then \
1017	    echo ${MKDIR} -p ${T}${CUSTOMINCDIR}; \
1018	    ${MKDIR} -p ${T}${CUSTOMINCDIR}; \
1019	    if [ ! -d "${T}${CUSTOMINCDIR}" ]; then \
1020		echo ${MKDIR} -p "${T}${CUSTOMINCDIR}"; \
1021		${MKDIR} -p "${T}${CUSTOMINCDIR}"; \
1022	    fi; \
1023	    echo ${CHMOD} 0755 ${T}${CUSTOMINCDIR}; \
1024	    ${CHMOD} 0755 ${T}${CUSTOMINCDIR}; \
1025	else \
1026	    ${TRUE}; \
1027	fi
1028	-${Q} for i in ${INSTALL_H_SRC} /dev/null; do \
1029	    if [ "$$i" = "/dev/null" ]; then \
1030		continue; \
1031	    fi; \
1032	    if ${CMP} -s "$$i" ${T}${CUSTOMINCDIR}/$$i; then \
1033		${TRUE}; \
1034	    else \
1035		${RM} -f ${T}${CUSTOMINCDIR}/$$i.new; \
1036		${CP} -f $$i ${T}${CUSTOMINCDIR}/$$i.new; \
1037		${CHMOD} 0444 ${T}${CUSTOMINCDIR}/$$i.new; \
1038		${MV} -f ${T}${CUSTOMINCDIR}/$$i.new ${T}${CUSTOMINCDIR}/$$i; \
1039		echo "installed ${T}${CUSTOMINCDIR}/$$i"; \
1040	    fi; \
1041	done
1042	-${Q} for i in ${CUSTOM_CALC_FILES} /dev/null; do \
1043	    if [ "$$i" = "/dev/null" ]; then \
1044		continue; \
1045	    fi; \
1046	    if ${CMP} -s $$i ${T}${CUSTOMCALDIR}/$$i; then \
1047		${TRUE}; \
1048	    else \
1049		${RM} -f ${T}${CUSTOMCALDIR}/$$i.new; \
1050		${CP} -f $$i ${T}${CUSTOMCALDIR}/$$i.new; \
1051		${CHMOD} 0444 ${T}${CUSTOMCALDIR}/$$i.new; \
1052		${MV} -f ${T}${CUSTOMCALDIR}/$$i.new ${T}${CUSTOMCALDIR}/$$i; \
1053		echo "installed ${T}${CUSTOMCALDIR}/$$i"; \
1054	    fi; \
1055	done
1056	-${Q} for i in ${CUSTOM_HELP} /dev/null; do \
1057	    if [ "$$i" = "/dev/null" ]; then \
1058		continue; \
1059	    fi; \
1060	    if ${CMP} -s $$i ${T}${CUSTOMHELPDIR}/$$i; then \
1061		${TRUE}; \
1062	    else \
1063		${RM} -f ${T}${CUSTOMHELPDIR}/$$i.new; \
1064		${CP} -f $$i ${T}${CUSTOMHELPDIR}/$$i.new; \
1065		${CHMOD} 0444 ${T}${CUSTOMHELPDIR}/$$i.new; \
1066		${MV} -f ${T}${CUSTOMHELPDIR}/$$i.new \
1067			 ${T}${CUSTOMHELPDIR}/$$i; \
1068		echo "installed ${T}${CUSTOMHELPDIR}/$$i"; \
1069	    fi; \
1070	done
1071	-${Q} if [ -f "${T}${CUSTOMCALDIR}/libcustcalc.a" ]; then \
1072	    ${RM} -f ${T}${CUSTOMCALDIR}/libcustcalc.a; \
1073	    echo "removed old ${T}${CUSTOMCALDIR}/libcustcalc.a"; \
1074	fi
1075	-${Q} if [ ! -z ${ALLOW_CUSTOM} ]; then \
1076	  if [ -f libcustcalc.a ]; then \
1077	    if ${CMP} -s libcustcalc.a ${T}${LIBDIR}/libcustcalc.a; then \
1078		${TRUE}; \
1079	    else \
1080		${RM} -f ${T}${LIBDIR}/libcustcalc.a.new; \
1081		${CP} -f libcustcalc.a ${T}${LIBDIR}/libcustcalc.a.new; \
1082		${CHMOD} 0644 ${T}${LIBDIR}/libcustcalc.a.new; \
1083		${MV} -f ${T}${LIBDIR}/libcustcalc.a.new \
1084		      ${T}${LIBDIR}/libcustcalc.a; \
1085		${RANLIB} ${T}${LIBDIR}/libcustcalc.a; \
1086		echo "installed ${T}${LIBDIR}/libcustcalc.a"; \
1087	    fi; \
1088	  fi; \
1089	fi
1090	${Q}# NOTE: The upper level makefile installs the file
1091	${Q}#	    libcustcalc${LIB_EXT_VERSION} because we only want to
1092	${Q}#	    perform one ${LDCONFIG} for both libcalc${LIB_EXT_VERSION}
1093	${Q}#	    and libcustcalc${LIB_EXT_VERSION}.
1094
1095# Try to remove everything that was installed
1096#
1097# NOTE: Keep the uninstall rule in reverse order to the install rule
1098#
1099uninstall:
1100	-${Q} if [ -f "${T}${CUSTOMCALDIR}/libcustcalc.a" ]; then \
1101	    ${RM} -f "${T}${CUSTOMCALDIR}/libcustcalc.a"; \
1102	    if [ -f "${T}${CUSTOMCALDIR}/libcustcalc.a" ]; then \
1103		echo "cannot uninstall ${T}${CUSTOMCALDIR}/libcustcalc.a"; \
1104	    else \
1105		echo "un-installed ${T}${CUSTOMCALDIR}/libcustcalc.a"; \
1106	    fi; \
1107	fi
1108	-${Q} for i in ${CUSTOM_HELP} /dev/null; do \
1109	    if [ "$$i" = "/dev/null" ]; then \
1110		continue; \
1111	    fi; \
1112	    if [ -f "${T}${CUSTOMHELPDIR}/$$i" ]; then \
1113		${RM} -f "${T}${CUSTOMHELPDIR}/$$i"; \
1114		if [ -f "${T}${CUSTOMHELPDIR}/$$i" ]; then \
1115		   echo "cannot uninstall ${T}${CUSTOMHELPDIR}/$$i"; \
1116		else \
1117		   echo "un-installed ${T}${CUSTOMHELPDIR}/$$i"; \
1118		fi; \
1119	    fi; \
1120	done
1121	-${Q} for i in ${CUSTOM_CALC_FILES} /dev/null; do \
1122	    if [ "$$i" = "/dev/null" ]; then \
1123		continue; \
1124	    fi; \
1125	    if [ -f "${T}${CUSTOMCALDIR}/$$i" ]; then \
1126		${RM} -f "${T}${CUSTOMCALDIR}/$$i"; \
1127		if [ -f "${T}${CUSTOMCALDIR}/$$i" ]; then \
1128		   echo "cannot uninstall ${T}${CUSTOMCALDIR}/$$i"; \
1129		else \
1130		   echo "un-installed ${T}${CUSTOMCALDIR}/$$i"; \
1131		fi; \
1132	    fi; \
1133	done
1134	-${Q} for i in ${INSTALL_H_SRC} /dev/null; do \
1135	    if [ "$$i" = "/dev/null" ]; then \
1136		continue; \
1137	    fi; \
1138	    if [ -f "${T}${CUSTOMINCDIR}/$$i" ]; then \
1139		${RM} -f "${T}${CUSTOMINCDIR}/$$i"; \
1140		if [ -f "${T}${CUSTOMINCDIR}/$$i" ]; then \
1141		   echo "cannot uninstall ${T}${CUSTOMINCDIR}/$$i"; \
1142		else \
1143		   echo "un-installed ${T}${CUSTOMINCDIR}/$$i"; \
1144		fi; \
1145	    fi; \
1146	done
1147	-${Q} for i in ${CUSTOMINCDIR} ${CUSTOMHELPDIR} ${CUSTOMCALDIR} \
1148		    ${HELPDIR} ${CALC_INCDIR} ${CALC_SHAREDIR} ${INCDIR}; do \
1149	    if [ -d "${T}$$i" ]; then \
1150		${RMDIR} "${T}$$i" 2>/dev/null; \
1151		echo "cleaned up ${T}$$i"; \
1152	    fi; \
1153	done
1154
1155##
1156#
1157# make depend stuff
1158#
1159##
1160
1161# DO NOT DELETE THIS LINE -- make depend depends on it.
1162
1163c_argv.o: ../alloc.h
1164c_argv.o: ../banned.h
1165c_argv.o: ../block.h
1166c_argv.o: ../byteswap.h
1167c_argv.o: ../calc.h
1168c_argv.o: ../calcerr.h
1169c_argv.o: ../cmath.h
1170c_argv.o: ../config.h
1171c_argv.o: ../custom.h
1172c_argv.o: ../decl.h
1173c_argv.o: ../endian_calc.h
1174c_argv.o: ../hash.h
1175c_argv.o: ../have_ban_pragma.h
1176c_argv.o: ../have_const.h
1177c_argv.o: ../have_memmv.h
1178c_argv.o: ../have_newstr.h
1179c_argv.o: ../have_stdlib.h
1180c_argv.o: ../have_string.h
1181c_argv.o: ../have_unused.h
1182c_argv.o: ../longbits.h
1183c_argv.o: ../nametype.h
1184c_argv.o: ../qmath.h
1185c_argv.o: ../sha1.h
1186c_argv.o: ../str.h
1187c_argv.o: ../value.h
1188c_argv.o: ../zmath.h
1189c_argv.o: c_argv.c
1190c_devnull.o: ../alloc.h
1191c_devnull.o: ../banned.h
1192c_devnull.o: ../block.h
1193c_devnull.o: ../byteswap.h
1194c_devnull.o: ../calcerr.h
1195c_devnull.o: ../cmath.h
1196c_devnull.o: ../config.h
1197c_devnull.o: ../custom.h
1198c_devnull.o: ../decl.h
1199c_devnull.o: ../endian_calc.h
1200c_devnull.o: ../hash.h
1201c_devnull.o: ../have_ban_pragma.h
1202c_devnull.o: ../have_const.h
1203c_devnull.o: ../have_memmv.h
1204c_devnull.o: ../have_newstr.h
1205c_devnull.o: ../have_stdlib.h
1206c_devnull.o: ../have_string.h
1207c_devnull.o: ../have_unistd.h
1208c_devnull.o: ../have_unused.h
1209c_devnull.o: ../longbits.h
1210c_devnull.o: ../nametype.h
1211c_devnull.o: ../qmath.h
1212c_devnull.o: ../sha1.h
1213c_devnull.o: ../str.h
1214c_devnull.o: ../value.h
1215c_devnull.o: ../zmath.h
1216c_devnull.o: c_devnull.c
1217c_help.o: ../alloc.h
1218c_help.o: ../banned.h
1219c_help.o: ../block.h
1220c_help.o: ../byteswap.h
1221c_help.o: ../calcerr.h
1222c_help.o: ../cmath.h
1223c_help.o: ../config.h
1224c_help.o: ../custom.h
1225c_help.o: ../decl.h
1226c_help.o: ../endian_calc.h
1227c_help.o: ../hash.h
1228c_help.o: ../have_ban_pragma.h
1229c_help.o: ../have_const.h
1230c_help.o: ../have_memmv.h
1231c_help.o: ../have_newstr.h
1232c_help.o: ../have_stdlib.h
1233c_help.o: ../have_string.h
1234c_help.o: ../have_unistd.h
1235c_help.o: ../have_unused.h
1236c_help.o: ../longbits.h
1237c_help.o: ../nametype.h
1238c_help.o: ../qmath.h
1239c_help.o: ../sha1.h
1240c_help.o: ../str.h
1241c_help.o: ../value.h
1242c_help.o: ../zmath.h
1243c_help.o: c_help.c
1244c_pmodm127.o: ../alloc.h
1245c_pmodm127.o: ../banned.h
1246c_pmodm127.o: ../block.h
1247c_pmodm127.o: ../byteswap.h
1248c_pmodm127.o: ../calcerr.h
1249c_pmodm127.o: ../cmath.h
1250c_pmodm127.o: ../config.h
1251c_pmodm127.o: ../custom.h
1252c_pmodm127.o: ../decl.h
1253c_pmodm127.o: ../endian_calc.h
1254c_pmodm127.o: ../hash.h
1255c_pmodm127.o: ../have_ban_pragma.h
1256c_pmodm127.o: ../have_const.h
1257c_pmodm127.o: ../have_memmv.h
1258c_pmodm127.o: ../have_newstr.h
1259c_pmodm127.o: ../have_stdlib.h
1260c_pmodm127.o: ../have_string.h
1261c_pmodm127.o: ../have_unused.h
1262c_pmodm127.o: ../longbits.h
1263c_pmodm127.o: ../nametype.h
1264c_pmodm127.o: ../qmath.h
1265c_pmodm127.o: ../sha1.h
1266c_pmodm127.o: ../str.h
1267c_pmodm127.o: ../value.h
1268c_pmodm127.o: ../zmath.h
1269c_pmodm127.o: c_pmodm127.c
1270c_pzasusb8.o: ../alloc.h
1271c_pzasusb8.o: ../banned.h
1272c_pzasusb8.o: ../block.h
1273c_pzasusb8.o: ../byteswap.h
1274c_pzasusb8.o: ../calcerr.h
1275c_pzasusb8.o: ../cmath.h
1276c_pzasusb8.o: ../config.h
1277c_pzasusb8.o: ../custom.h
1278c_pzasusb8.o: ../decl.h
1279c_pzasusb8.o: ../endian_calc.h
1280c_pzasusb8.o: ../hash.h
1281c_pzasusb8.o: ../have_ban_pragma.h
1282c_pzasusb8.o: ../have_const.h
1283c_pzasusb8.o: ../have_memmv.h
1284c_pzasusb8.o: ../have_newstr.h
1285c_pzasusb8.o: ../have_stdlib.h
1286c_pzasusb8.o: ../have_string.h
1287c_pzasusb8.o: ../have_unused.h
1288c_pzasusb8.o: ../longbits.h
1289c_pzasusb8.o: ../nametype.h
1290c_pzasusb8.o: ../qmath.h
1291c_pzasusb8.o: ../sha1.h
1292c_pzasusb8.o: ../str.h
1293c_pzasusb8.o: ../value.h
1294c_pzasusb8.o: ../zmath.h
1295c_pzasusb8.o: c_pzasusb8.c
1296c_register.o: ../alloc.h
1297c_register.o: ../banned.h
1298c_register.o: ../block.h
1299c_register.o: ../byteswap.h
1300c_register.o: ../calc.h
1301c_register.o: ../calcerr.h
1302c_register.o: ../cmath.h
1303c_register.o: ../config.h
1304c_register.o: ../custom.h
1305c_register.o: ../decl.h
1306c_register.o: ../endian_calc.h
1307c_register.o: ../hash.h
1308c_register.o: ../have_ban_pragma.h
1309c_register.o: ../have_const.h
1310c_register.o: ../have_memmv.h
1311c_register.o: ../have_newstr.h
1312c_register.o: ../have_stdlib.h
1313c_register.o: ../have_string.h
1314c_register.o: ../have_unused.h
1315c_register.o: ../longbits.h
1316c_register.o: ../nametype.h
1317c_register.o: ../qmath.h
1318c_register.o: ../sha1.h
1319c_register.o: ../str.h
1320c_register.o: ../value.h
1321c_register.o: ../zmath.h
1322c_register.o: c_register.c
1323c_sysinfo.o: ../alloc.h
1324c_sysinfo.o: ../banned.h
1325c_sysinfo.o: ../block.h
1326c_sysinfo.o: ../byteswap.h
1327c_sysinfo.o: ../calc.h
1328c_sysinfo.o: ../calcerr.h
1329c_sysinfo.o: ../cmath.h
1330c_sysinfo.o: ../conf.h
1331c_sysinfo.o: ../config.h
1332c_sysinfo.o: ../custom.h
1333c_sysinfo.o: ../decl.h
1334c_sysinfo.o: ../endian_calc.h
1335c_sysinfo.o: ../fposval.h
1336c_sysinfo.o: ../hash.h
1337c_sysinfo.o: ../have_ban_pragma.h
1338c_sysinfo.o: ../have_const.h
1339c_sysinfo.o: ../have_memmv.h
1340c_sysinfo.o: ../have_newstr.h
1341c_sysinfo.o: ../have_stdlib.h
1342c_sysinfo.o: ../have_string.h
1343c_sysinfo.o: ../have_unused.h
1344c_sysinfo.o: ../hist.h
1345c_sysinfo.o: ../lib_calc.h
1346c_sysinfo.o: ../longbits.h
1347c_sysinfo.o: ../nametype.h
1348c_sysinfo.o: ../prime.h
1349c_sysinfo.o: ../qmath.h
1350c_sysinfo.o: ../sha1.h
1351c_sysinfo.o: ../str.h
1352c_sysinfo.o: ../value.h
1353c_sysinfo.o: ../zmath.h
1354c_sysinfo.o: ../zrand.h
1355c_sysinfo.o: ../zrandom.h
1356c_sysinfo.o: c_sysinfo.c
1357custtbl.o: ../alloc.h
1358custtbl.o: ../banned.h
1359custtbl.o: ../block.h
1360custtbl.o: ../byteswap.h
1361custtbl.o: ../calcerr.h
1362custtbl.o: ../cmath.h
1363custtbl.o: ../config.h
1364custtbl.o: ../custom.h
1365custtbl.o: ../decl.h
1366custtbl.o: ../endian_calc.h
1367custtbl.o: ../hash.h
1368custtbl.o: ../have_ban_pragma.h
1369custtbl.o: ../have_const.h
1370custtbl.o: ../have_memmv.h
1371custtbl.o: ../have_newstr.h
1372custtbl.o: ../have_stdlib.h
1373custtbl.o: ../have_string.h
1374custtbl.o: ../longbits.h
1375custtbl.o: ../nametype.h
1376custtbl.o: ../qmath.h
1377custtbl.o: ../sha1.h
1378custtbl.o: ../str.h
1379custtbl.o: ../value.h
1380custtbl.o: ../zmath.h
1381custtbl.o: custtbl.c
1382