mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
The following are the changes in this release: Fixed missing <string.h include in have_fpos_pos.c. Change calc version from 2.14.1.2 to 2.14.2.3 as part of a test to build calc RPMs on a reference RHEL8.7 platform (formerly a RHEL7.9 platform).
1395 lines
40 KiB
Makefile
1395 lines
40 KiB
Makefile
#!/bin/make
|
|
#
|
|
# custom - makefile for calc custom routines
|
|
#
|
|
# Copyright (C) 1999-2006,2014,2017-2018,2021 Landon Curt Noll
|
|
#
|
|
# SRC: custom/Makefile.simple - non-GNU version
|
|
#
|
|
# The "# SRC: ... - ..." comment line above indicates
|
|
# the origin of this file.
|
|
#
|
|
# IMPORTANT: Please see the section on Makefiles near the
|
|
# bottom of the HOWTO.INSTALL file.
|
|
#
|
|
# Calc is open software; you can redistribute it and/or modify it under
|
|
# the terms of the version 2.1 of the GNU Lesser General Public License
|
|
# as published by the Free Software Foundation.
|
|
#
|
|
# Calc is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
|
|
# Public License for more details.
|
|
#
|
|
# A copy of version 2.1 of the GNU Lesser General Public License is
|
|
# distributed with calc under the filename COPYING-LGPL. You should have
|
|
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
#
|
|
# Under source code control: 1997/03/09 02:28:54
|
|
# File existed as early as: 1997
|
|
#
|
|
# chongo <was here> /\oo/\ http://www.isthe.com/chongo/
|
|
# Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|
|
#
|
|
# calculator by David I. Bell with help/mods from others
|
|
# Makefile by Landon Curt Noll
|
|
|
|
|
|
# The shell used by this Makefile
|
|
#
|
|
# On some systems, /bin/sh is a rather reduced shell with
|
|
# deprecated behavior.
|
|
#
|
|
# If your system has a up to date, bash shell, then
|
|
# you may wish to use:
|
|
#
|
|
# SHELL= /bin/bash
|
|
#
|
|
# On some systems such as macOS, the bash shell is very
|
|
# far behind to the point where is cannot be depended on.
|
|
# On such systems, the zsh may be a much better alternative
|
|
# shell for this Makefile to use:
|
|
#
|
|
# SHELL= /bin/zsh
|
|
#
|
|
SHELL= /bin/bash
|
|
#SHELL= /bin/sh
|
|
|
|
|
|
# PREFIX - Top level location for calc
|
|
#
|
|
# The PREFIX is often prepended to paths within calc and calc Makefiles.
|
|
#
|
|
# Starting with calc v2.13.0.1, nearly all Makefile places that used
|
|
# /usr/local now use ${PREFIX}. An exception is the olduninstall rule
|
|
# and, of course, this section. :-)
|
|
#
|
|
# NOTE: The ${PREFIX} is not the same as ${T}. The ${T} specifies
|
|
# a top level directory under which calc installs things.
|
|
# While usually ${T} is empty, it can be specific path
|
|
# as if calc where "chrooted" during an install.
|
|
# The ${PREFIX} value, during install, is a path between
|
|
# the top level ${T} install directory and the object
|
|
# such as an include file.
|
|
#
|
|
# NOTE: See also, ${T}, below.
|
|
#
|
|
# There are some paths that do NOT call under ${PREFIX}, such as
|
|
# ${CALCPATH}, that include paths not under ${PREFIX}, but those
|
|
# too are exceptions to this general rule.
|
|
#
|
|
# When in doubt, try:
|
|
#
|
|
# PREFIX= /usr/local
|
|
#
|
|
PREFIX= /usr/local
|
|
#PREFIX= /usr
|
|
#PREFIX= /usr/global
|
|
|
|
|
|
# CCBAN is given to ${CC} in order to control if banned.h is in effect.
|
|
#
|
|
# The banned.h attempts to ban the use of certain dangerous functions
|
|
# that, if improperly used, could compromise the computational integrity
|
|
# if calculations.
|
|
#
|
|
# In the case of calc, we are motivated in part by the desire for calc
|
|
# to correctly calculate: even during extremely long calculations.
|
|
#
|
|
# If UNBAN is NOT defined, then calling certain functions
|
|
# will result in a call to a non-existent function (link error).
|
|
#
|
|
# While we do NOT encourage defining UNBAN, there may be
|
|
# a system / compiler environment where re-defining a
|
|
# function may lead to a fatal compiler complication.
|
|
# If that happens, consider compiling as:
|
|
#
|
|
# make clobber all chk CCBAN=-DUNBAN
|
|
#
|
|
# as see if this is a work-a-round.
|
|
#
|
|
# If YOU discover a need for the -DUNBAN work-a-round, PLEASE tell us!
|
|
# Please send us a bug report. See the file:
|
|
#
|
|
# BUGS
|
|
#
|
|
# or the URL:
|
|
#
|
|
# http://www.isthe.com/chongo/tech/comp/calc/calc-bugrept.html
|
|
#
|
|
# for how to send us such a bug report.
|
|
#
|
|
CCBAN= -UUNBAN
|
|
#CCBAN= -DUNBAN
|
|
|
|
|
|
|
|
# The custom calc resource files to install
|
|
#
|
|
# Put your custom calc resource files here.
|
|
#
|
|
CUSTOM_CALC_FILES= argv.cal halflen.cal pzasusb8.cal pmodm127.cal register.cal
|
|
|
|
# The custom help files to install
|
|
#
|
|
# Put your custom help files here.
|
|
#
|
|
CUSTOM_HELP= argv devnull help sysinfo pzasusb8 pmodm127 register
|
|
|
|
# Any .h files that are needed by programs that use
|
|
# libcustcalc${LIB_EXT_VERSION}
|
|
#
|
|
# Put any .h files that you add which might be useful to other
|
|
# programs here.
|
|
#
|
|
CUSTOM_H_SRC=
|
|
|
|
# Any .c files that are needed to build libcustcalc${LIB_EXT_VERSION}.
|
|
#
|
|
# Don't put ${REQUIRED_SRC} files in this list.
|
|
#
|
|
# There MUST be a .c in CUSTOM_SRC for every .o in CUSTOM_OBJ.
|
|
#
|
|
# Put your custom .c files here.
|
|
#
|
|
CUSTOM_SRC= c_argv.c c_devnull.c c_help.c c_sysinfo.c c_pzasusb8.c \
|
|
c_pmodm127.c c_register.c
|
|
|
|
# Any .o files that are needed by program that use
|
|
# libcustcalc${LIB_EXT_VERSION}.
|
|
#
|
|
# Don't put ${REQUIRED_OBJ} files in this list.
|
|
#
|
|
# There MUST be a .c in CUSTOM_SRC for every .o in CUSTOM_OBJ.
|
|
#
|
|
# Put your custom .o files here.
|
|
#
|
|
CUSTOM_OBJ= c_argv.o c_devnull.o c_help.o c_sysinfo.o c_pzasusb8.o \
|
|
c_pmodm127.o c_register.o
|
|
|
|
##############################################################################
|
|
#-=-=-=-=-=-=-=-=- You may want to change some values below -=-=-=-=-=-=-=-=-#
|
|
##############################################################################
|
|
|
|
##############################################################################
|
|
#-=-=-=-=-=-=- Defaults in case you want to build from this dir -=-=-=-=-=-=-#
|
|
##############################################################################
|
|
|
|
# Normally, the upper level makefile will set these values. We provide
|
|
# a default here just in case you want to build from this directory.
|
|
|
|
# Makefile debug
|
|
#
|
|
# Q=@ do not echo internal Makefile actions (quiet mode)
|
|
# Q= echo internal Makefile actions (debug / verbose mode)
|
|
#
|
|
# H=@: do not report hsrc file formation progress
|
|
# H=@ do echo hsrc file formation progress
|
|
#
|
|
# S= >/dev/null 2>&1 silence ${CC} output during hsrc file formation
|
|
# S= full ${CC} output during hsrc file formation
|
|
#
|
|
# E= 2>/dev/null silence command stderr during hsrc file formation
|
|
# E= full command stderr during hsrc file formation
|
|
#
|
|
# V=@: do not echo debug statements (quiet mode)
|
|
# V=@ do echo debug statements (debug / verbose mode)
|
|
#
|
|
#Q=
|
|
Q=@
|
|
#
|
|
S= >/dev/null 2>&1
|
|
#S=
|
|
#
|
|
E= 2>/dev/null
|
|
#E=
|
|
#
|
|
#H=@:
|
|
H=@
|
|
#
|
|
V=@:
|
|
#V=@
|
|
|
|
####
|
|
# Normally, the upper level makefile will set these values. We provide
|
|
# a default here just in case you want to build from this directory.
|
|
####
|
|
|
|
# Where the system include (.h) files are kept
|
|
#
|
|
# For DJGPP, select:
|
|
#
|
|
# INCDIR= /dev/env/DJDIR/include
|
|
#
|
|
# If in doubt, set:
|
|
#
|
|
# INCDIR= /usr/include
|
|
#
|
|
|
|
#INCDIR= ${PREFIX}/include
|
|
#INCDIR= /dev/env/DJDIR/include
|
|
INCDIR= /usr/include
|
|
|
|
# where to install calc related things
|
|
#
|
|
# ${BINDIR} where to install calc binary files
|
|
# ${LIBDIR} where calc link library (*.a) files are installed
|
|
# ${CALC_SHAREDIR} where to install calc help, .cal, startup, config files
|
|
#
|
|
# NOTE: The install rule prepends installation paths with ${T}, which
|
|
# by default is empty. If ${T} is non-empty, then installation
|
|
# locations will be relative to the ${T} directory.
|
|
#
|
|
# For DJGPP, select:
|
|
#
|
|
# BINDIR= /dev/env/DJDIR/bin
|
|
# LIBDIR= /dev/env/DJDIR/lib
|
|
# CALC_SHAREDIR= /dev/env/DJDIR/share/calc
|
|
#
|
|
# If in doubt, set:
|
|
#
|
|
# BINDIR= /usr/bin
|
|
# LIBDIR= /usr/lib
|
|
# CALC_SHAREDIR= /usr/share/calc
|
|
#
|
|
#BINDIR= ${PREFIX}/bin
|
|
#BINDIR= /dev/env/DJDIR/bin
|
|
BINDIR= /usr/bin
|
|
|
|
#LIBDIR= ${PREFIX}/lib
|
|
#LIBDIR= /dev/env/DJDIR/lib
|
|
LIBDIR= /usr/lib
|
|
|
|
#CALC_SHAREDIR= ${PREFIX}/lib/calc
|
|
#CALC_SHAREDIR= /dev/env/DJDIR/share/calc
|
|
CALC_SHAREDIR= /usr/share/calc
|
|
|
|
# By default, these values are based CALC_SHAREDIR, INCDIR, BINDIR
|
|
# ---------------------------------------------------------------
|
|
# ${HELPDIR} where the help directory is installed
|
|
# ${CALC_INCDIR} where the calc include files are installed
|
|
# ${CUSTOMCALDIR} where custom *.cal files are installed
|
|
# ${CUSTOMHELPDIR} where custom help files are installed
|
|
# ${CUSTOMINCDIR} where custom .h files are installed
|
|
# ${SCRIPTDIR} where calc shell scripts are installed
|
|
#
|
|
# NOTE: The install rule prepends installation paths with ${T}, which
|
|
# by default is empty. If ${T} is non-empty, then installation
|
|
# locations will be relative to the ${T} directory.
|
|
#
|
|
# If in doubt, set:
|
|
#
|
|
# HELPDIR= ${CALC_SHAREDIR}/help
|
|
# CALC_INCDIR= ${INCDIR}/calc
|
|
# CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
|
# CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
|
# CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
|
# SCRIPTDIR= ${BINDIR}/cscript
|
|
#
|
|
HELPDIR= ${CALC_SHAREDIR}/help
|
|
CALC_INCDIR= ${INCDIR}/calc
|
|
CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
|
CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
|
CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
|
SCRIPTDIR= ${BINDIR}/cscript
|
|
|
|
# T - top level directory under which calc will be installed
|
|
#
|
|
# The calc install is performed under ${T}, the calc build is
|
|
# performed under /. The purpose for ${T} is to allow someone
|
|
# to install calc somewhere other than into the system area.
|
|
#
|
|
# For example, if:
|
|
#
|
|
# BINDIR= /usr/bin
|
|
# LIBDIR= /usr/lib
|
|
# CALC_SHAREDIR= /usr/share/calc
|
|
#
|
|
# and if:
|
|
#
|
|
# T= /var/tmp/testing
|
|
#
|
|
# Then the installation locations will be:
|
|
#
|
|
# calc binary files: /var/tmp/testing/usr/bin
|
|
# calc link library: /var/tmp/testing/usr/lib
|
|
# calc help, .cal ...: /var/tmp/testing/usr/share/calc
|
|
# ... etc ... /var/tmp/testing/...
|
|
#
|
|
# If ${T} is empty, calc is installed under /, which is the same
|
|
# top of tree for which it was built. If ${T} is non-empty, then
|
|
# calc is installed under ${T}, as if one had to chroot under
|
|
# ${T} for calc to operate.
|
|
#
|
|
# If in doubt, use T=
|
|
#
|
|
T=
|
|
|
|
# Debug/Optimize options for ${CC} and ${LCC}
|
|
#
|
|
# Select DEBUG= -O2 -gstabs+ -D_WIN32 for DJGPP.
|
|
#
|
|
#DEBUG=
|
|
#
|
|
#DEBUG= -O
|
|
#DEBUG= -O -g
|
|
#DEBUG= -O -g3
|
|
#
|
|
#DEBUG= -O1
|
|
#DEBUG= -O1 -g
|
|
#DEBUG= -O1 -g3
|
|
#
|
|
#DEBUG= -O2
|
|
#DEBUG= -O2 -g
|
|
#DEBUG= -O2 -g3
|
|
#DEBUG= -O2 -ipa
|
|
#DEBUG= -O2 -g3 -ipa
|
|
#
|
|
#DEBUG= -O3
|
|
#DEBUG= -O3 -g
|
|
DEBUG= -O3 -g3
|
|
#DEBUG= -O3 -ipa
|
|
#DEBUG= -O3 -g3 -ipa
|
|
#
|
|
#DEBUG= -g
|
|
#DEBUG= -g3
|
|
#DEBUG= -gx
|
|
#DEBUG= -WM,-g
|
|
#
|
|
#DEBUG= -O2 -gstabs+ -D_WIN32
|
|
|
|
# Some systems require one to use ranlib to add a symbol table to
|
|
# a *.a link library. Set RANLIB to the utility that performs this
|
|
# action. Set RANLIB to : if your system does not need such a utility.
|
|
#
|
|
RANLIB=ranlib
|
|
#RANLIB=:
|
|
|
|
# Normally certain files depend on the Makefile. If the Makefile is
|
|
# changed, then certain steps should be redone. If MAKE_FILE is
|
|
# set to Makefile, then these files will depend on Makefile. If
|
|
# MAKE_FILE is empty, then they wont.
|
|
#
|
|
# If in doubt, set MAKE_FILE to Makefile
|
|
#
|
|
MAKE_FILE= Makefile
|
|
#MAKE_FILE=
|
|
|
|
# If you do not wish to use purify, set PURIFY to an empty string.
|
|
#
|
|
# If in doubt, use PURIFY=
|
|
#
|
|
#PURIFY= purify
|
|
#PURIFY= purify -m71-engine
|
|
#PURIFY= purify -logfile=pure.out
|
|
#PURIFY= purify -m71-engine -logfile=pure.out
|
|
PURIFY=
|
|
|
|
# If you want to use a debugging link library such as a malloc debug link
|
|
# library, or need to add special ld flags after the calc link libraries
|
|
# are included, set ${LD_DEBUG} below.
|
|
#
|
|
# If in doubt, set LD_DEBUG to empty.
|
|
#
|
|
#LD_DEBUG= -lmalloc_cv
|
|
LD_DEBUG=
|
|
|
|
# When doing a:
|
|
#
|
|
# make check
|
|
# make chk
|
|
# make debug
|
|
#
|
|
# the ${CALC_ENV} is used to supply the proper environment variables
|
|
# to calc. Most people will simply need 'CALCPATH=./cal' to ensure
|
|
# that these debug rules will only use calc resource files under the
|
|
# local source directory. The longer lines (with MALLOC_VERBOSE=1 ...)
|
|
# are useful for SGI IRIX people who have 'WorkShop Performance Tools'
|
|
# and who also set 'LD_DEBUG= -lmalloc_cv' above.
|
|
#
|
|
# If in doubt, use CALC_ENV= CALCPATH=./cal.
|
|
#
|
|
CALC_ENV= CALCPATH=./cal
|
|
#CALC_ENV= CALCPATH=./cal MALLOC_VERBOSE=1 MALLOC_TRACING=1 \
|
|
# MALLOC_FASTCHK=1 MALLOC_FULLWARN=1
|
|
#CALC_ENV= CALCPATH=./cal MALLOC_VERBOSE=1 MALLOC_TRACING=1 \
|
|
# MALLOC_FASTCHK=1 MALLOC_FULLWARN=1 MALLOC_CLEAR_FREE=1 \
|
|
# MALLOC_CLEAR_MALLOC=1
|
|
|
|
# By default, custom builtin functions may only be executed if calc
|
|
# is given the -C option. This is because custom builtin functions
|
|
# may invoke non-standard or non-portable code. One may completely
|
|
# disable custom builtin functions by not compiling any of code
|
|
#
|
|
# ALLOW_CUSTOM= -DCUSTOM # allow custom only if -C is given
|
|
# ALLOW_CUSTOM= # disable custom even if -C is given
|
|
#
|
|
# If in doubt, use ALLOW_CUSTOM= -DCUSTOM
|
|
#
|
|
ALLOW_CUSTOM= -DCUSTOM
|
|
#ALLOW_CUSTOM=
|
|
|
|
# Some out of date operating systems require / want an executable to
|
|
# end with a certain file extension. Some compile systems such as
|
|
# Cygwin build calc as calc.exe. The EXT variable is used to denote
|
|
# the extension required by such.
|
|
#
|
|
# EXT= # normal Un*x / Linux / GNU/Linux systems
|
|
# EXT=.exe # Windows / Cygwin
|
|
#
|
|
# If in doubt, use EXT=
|
|
#
|
|
EXT=
|
|
#EXT=.exe
|
|
|
|
# The default calc versions
|
|
#
|
|
VERSION= 2.14.1.3
|
|
|
|
# Names of shared libraries with versions
|
|
#
|
|
LIB_EXT= .so
|
|
LIB_EXT_VERSION= ${LIB_EXT}.${VERSION}
|
|
|
|
# standard tools
|
|
#
|
|
AR= ar
|
|
AWK= awk
|
|
CHMOD= chmod
|
|
CMP= cmp
|
|
CO= co
|
|
CP= cp
|
|
DIFF= diff
|
|
FMT= fmt
|
|
GREP= egrep
|
|
LN= ln
|
|
LS= ls
|
|
MAKE= make
|
|
MAKEDEPEND= makedepend
|
|
MKDIR= mkdir
|
|
MV= mv
|
|
RM= rm
|
|
RMDIR= rmdir
|
|
SED= sed
|
|
SORT= sort
|
|
TAIL= tail
|
|
TOUCH= touch
|
|
TRUE= true
|
|
|
|
# EXTRA_CFLAGS are flags given to ${CC} when compiling C files
|
|
# EXTRA_LDFLAGS are flags given to ${CC} when linking progs
|
|
#
|
|
# Both CFLAGS and LDFLAGS are left blank in this Makefile by
|
|
# default so that users may use them on the make command line
|
|
# to always the way that C is compiled and files are linked
|
|
# respectively. For example:
|
|
#
|
|
# make all EXTRA_CFLAGS="-DMAGIC" EXTRA_LDFLAGS="-lmagic"
|
|
#
|
|
# NOTE: These should be left blank in this Makefile to make it
|
|
# easier to add stuff on the command line. If you want to
|
|
# to change the way calc is compiled by this Makefile, change
|
|
# the appropriate host target section below or a flag above.
|
|
#
|
|
EXTRA_CFLAGS=
|
|
EXTRA_LDFLAGS=
|
|
|
|
# COMMON_CFLAGS are the common ${CC} flags used for all progs, both
|
|
# intermediate and final calc and calc related progs
|
|
#
|
|
COMMON_CFLAGS= -DCALC_SRC ${ALLOW_CUSTOM} ${CCWARN} ${CCMISC} ${EXTRA_CFLAGS}
|
|
|
|
# COMMON_LDFLAGS are the common flags used for linking all progs, both
|
|
# intermediate and final calc and calc related progs
|
|
#
|
|
COMMON_LDFLAGS= ${EXTRA_LDFLAGS}
|
|
|
|
###########################################
|
|
# Set the default compile flags for ${CC} #
|
|
###########################################
|
|
|
|
|
|
##########################################################################
|
|
#=-=-=-=-=- Be careful if you change something below this line -=-=-=-=-=#
|
|
##########################################################################
|
|
|
|
# include start from top Makefile - keep this line
|
|
######################################################
|
|
# NOTE: Start of section from the middle of Makefile #
|
|
# #
|
|
# These lines are shared in common with the lower #
|
|
# custom/Makefile. That is, until the comment line #
|
|
# that starts with '# NOTE: End of section ..' line, #
|
|
# these Makefile lines are used in BOTH Makefiles. #
|
|
######################################################
|
|
|
|
##############################################################################
|
|
#-=-=-=-=-=- host target section - targets that override defaults -=-=-=-=-=-#
|
|
##############################################################################
|
|
|
|
# Common values set in targets
|
|
#
|
|
# BLD_TYPE determines if calc is built with static and/or dynamic libs.
|
|
# Set this value to one of:
|
|
#
|
|
# BLD_TYPE= calc-dynamic-only
|
|
# BLD_TYPE= calc-static-only
|
|
#
|
|
# CC_SHARE are flags given to ${CC} to build .o files suitable for shared libs
|
|
# DEFAULT_LIB_INSTALL_PATH is where calc programs look for calc shared libs
|
|
# LD_SHARE are common flags given to ${CC} to link with shared libraries
|
|
# LIBCALC_SHLIB are flags given to ${CC} to build libcalc shared libraries
|
|
# LIBCUSTCALC_SHLIB are flags given to ${CC} to build libcustcalc shared lib
|
|
#
|
|
# NOTE: The above 5 values are unused if BLD_TYPE= calc-static-only
|
|
#
|
|
# CC_STATIC are flags given to ${CC} to build .o files suitable for static libs
|
|
# LD_STATIC are common flags given to ${CC} to link with static libraries
|
|
# LIBCALC_STATIC are flags given to ${CC} to build libcalc static libraries
|
|
# LIBCUSTCALC_STATIC are flags given to ${CC} to build libcustcalc static lib
|
|
#
|
|
# NOTE: The above 4 values are unused if BLD_TYPE= calc-dynamic-only
|
|
#
|
|
# CCOPT are flags given to ${CC} for optimization
|
|
# CCWARN are flags given to ${CC} for warning message control
|
|
#
|
|
# The following are given to ${CC}:
|
|
#
|
|
# WNO_IMPLICT
|
|
# WNO_ERROR_LONG_LONG
|
|
# WNO_LONG_LONG
|
|
#
|
|
# when compiling special .o files that may need special compile options:
|
|
#
|
|
# NOTE: These flags simply turn off certain compiler warnings,
|
|
# which is useful only when CCWERR is set to -Werror.
|
|
#
|
|
# NOTE: If your compiler does not have these -Wno files, just
|
|
# set these variables to nothing as in:
|
|
#
|
|
# WNO_IMPLICT=
|
|
# WNO_ERROR_LONG_LONG=
|
|
# WNO_LONG_LONG=
|
|
#
|
|
# CCWERR are flags given to ${CC} to make warnings fatal errors
|
|
# NOTE: CCWERR is only set in development Makefiles and must only be
|
|
# used with ${CC}, not ${LCC}. If you do not want the compiler
|
|
# to abort on warnings, then leave CCWERR blank.
|
|
# CCMISC are misc flags given to ${CC}
|
|
#
|
|
# CCBAN is given to ${CC} in order to control if banned.h is in effect.
|
|
# NOTE: See where CCBAN is defined above for details.
|
|
#
|
|
# LCC is how the C compiler is invoked on locally executed intermediate programs
|
|
# CC is how the C compiler is invoked (with an optional Purify)
|
|
#
|
|
# Specific target overrides or modifications to default values
|
|
|
|
##########################################################################
|
|
# NOTE: If your target is not supported below and the default target #
|
|
# is not suitable for your needs, please send to the: #
|
|
# #
|
|
# calc-contrib at asthe dot com #
|
|
# #
|
|
# Email address an "ifeq ($(target),YOUR_TARGET_NAME)" ... "endif" #
|
|
# set of lines so that we can consider them for the next release. #
|
|
##########################################################################
|
|
|
|
#
|
|
BLD_TYPE= calc-static-only
|
|
#
|
|
CC_SHARE= -fPIC
|
|
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:${PREFIX}/lib
|
|
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
|
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
|
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
|
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
|
#
|
|
CC_STATIC=
|
|
LD_STATIC=
|
|
LIBCALC_STATIC=
|
|
LIBCUSTCALC_STATIC=
|
|
#
|
|
#CCWARN= -Wall
|
|
CCWARN= -Wall -Wextra -pedantic
|
|
WNO_IMPLICT= -Wno-implicit
|
|
WNO_ERROR_LONG_LONG= -Wno-error=long-long
|
|
WNO_LONG_LONG= -Wno-long-long
|
|
CCWERR=
|
|
CCOPT= ${DEBUG}
|
|
CCMISC=
|
|
#
|
|
LCC= cc
|
|
CC= ${PURIFY} ${LCC} ${CCWERR}
|
|
#
|
|
# The simple makefile forces the use of static ${CC} flags
|
|
#
|
|
# ICFLAGS are given to ${CC} for intermediate programs used to help compile calc
|
|
# CFLAGS are given to ${CC} for calc programs other than intermediate programs
|
|
# ILDFLAGS for ${CC} in linking intermediate programs used to help compile calc
|
|
# LDFLAGS for ${CC} in linking calc programs other than intermediate programs
|
|
#
|
|
ICFLAGS= ${COMMON_CFLAGS} ${CCBAN} ${CC_STATIC}
|
|
CFLAGS= ${ICFLAGS} ${CCOPT}
|
|
#
|
|
ILDFLAGS= ${COMMON_LDFLAGS} ${LD_STATIC}
|
|
LDFLAGS= ${LD_DEBUG} ${ILDFLAGS} ${LIBCALC_STATIC} ${LIBCUSTCALC_STATIC}
|
|
#
|
|
|
|
#######################################################################
|
|
#-=-=-=-=-=- end of target section - only make rules below -=-=-=-=-=-#
|
|
#######################################################################
|
|
|
|
######################################################
|
|
# NOTE: End of section from the middle of Makefile #
|
|
# #
|
|
# These lines are shared in common with the lower #
|
|
# custom/Makefile. That is, starting with the line #
|
|
# that starts with '# NOTE: End of section ..' line, #
|
|
# these Makefile lines are used in BOTH Makefiles. #
|
|
######################################################
|
|
# include end from top Makefile - keep this line
|
|
|
|
# These .c files are required for the main custom interface and
|
|
# for the custom support functions for libcustcalc${LIB_EXT_VERSION}.
|
|
#
|
|
# There MUST be a .c for every .o in REQUIRED_OBJ.
|
|
#
|
|
REQUIRED_SRC= custtbl.c
|
|
|
|
# These .o files correspond to the .c files in REQUIRED_SRC
|
|
# for libcustcalc${LIB_EXT_VERSION}.
|
|
#
|
|
# There MUST be a .o for every .c in REQUIRED_SRC.
|
|
#
|
|
REQUIRED_OBJ= custtbl.o
|
|
|
|
# These .h files are installed under ${CUSTOMCALDIR} by the install rule.
|
|
#
|
|
INSTALL_H_SRC= ${CUSTOM_H_SRC}
|
|
|
|
# These .c files are used to form libcustcalc${LIB_EXT_VERSION}.
|
|
#
|
|
CUSTCALC_SRC= ${REQUIRED_SRC} ${CUSTOM_SRC}
|
|
|
|
# These .o files are used to form libcustcalc${LIB_EXT_VERSION}.
|
|
#
|
|
CUSTCALC_OBJ= ${REQUIRED_OBJ} ${CUSTOM_OBJ}
|
|
|
|
# These .c files are used to build the dependency list
|
|
#
|
|
C_SRC= ${REQUIRED_SRC} ${CUSTOM_SRC}
|
|
|
|
# These .h files are used to build the dependency list
|
|
#
|
|
H_SRC= ${CUSTOM_H_SRC}
|
|
|
|
# These files are found (but not built) in the distribution
|
|
#
|
|
# The CUSTOM_CAL and HOW_TO_ADD are files distributed from this
|
|
# directory but are installed as help files from the help/Makefile.
|
|
#
|
|
DISTLIST= ${CUSTCALC_SRC} ${CUSTOM_CALC_FILES} ${CUSTOM_HELP} \
|
|
${INSTALL_H_SRC} CUSTOM_CAL HOW_TO_ADD Makefile Makefile.simple
|
|
|
|
# These files are used to make (but not built) a calc .a link library
|
|
#
|
|
CALCLIBLIST= ${CUSTCALC_SRC} ${INSTALL_H_SRC} ${MAKE_FILE} HOW_TO_ADD
|
|
|
|
# This is the custom dynamic shared library that is build
|
|
#
|
|
CALC_DYNAMIC_LIBCUSTCALC= libcustcalc${LIB_EXT_VERSION}
|
|
|
|
# This is the custom static library that is build
|
|
#
|
|
CALC_STATIC_LIBCUSTCALC= libcustcalc.a
|
|
|
|
# complete list of targets
|
|
#
|
|
TARGETS= ${BLD_TYPE} Makefile.simple
|
|
|
|
###
|
|
#
|
|
# The main reason for this Makefile :-)
|
|
#
|
|
###
|
|
|
|
all: ${TARGETS} ${INSTALL_H_SRC} ${CUSTOM_CALC_FILES} \
|
|
${CUSTOM_HELP} ${MAKE_FILE} .all
|
|
|
|
calc-dynamic-only: ${CUSTCALC_OBJ} ${CALC_DYNAMIC_LIBCUSTCALC}
|
|
|
|
calc-static-only: ${CUSTCALC_OBJ} ${CALC_STATIC_LIBCUSTCALC}
|
|
|
|
custom/libcustcalc${LIB_EXT_VERSION}: libcustcalc${LIB_EXT_VERSION} \
|
|
${CALC_STATIC_LIBCUSTCALC}
|
|
|
|
libcustcalc${LIB_EXT_VERSION}: ${CUSTCALC_OBJ} ${MAKE_FILE}
|
|
${CC} ${LIBCUSTCALC_SHLIB} ${CUSTCALC_OBJ} -o $@
|
|
|
|
##
|
|
#
|
|
# Special .o files
|
|
#
|
|
##
|
|
|
|
c_sysinfo.o: c_sysinfo.c ${MAKE_FILE}
|
|
${CC} ${CFLAGS} c_sysinfo.c -c
|
|
|
|
##
|
|
#
|
|
# used by the upper level Makefile
|
|
#
|
|
##
|
|
|
|
# to determine of we have done all
|
|
#
|
|
.all:
|
|
${RM} -f .all
|
|
${TOUCH} .all
|
|
|
|
###
|
|
#
|
|
# building calc-static and static lib*.a libraries
|
|
#
|
|
###
|
|
|
|
libcustcalc.a: ${CUSTCALC_OBJ} ${MAKE_FILE}
|
|
${RM} -f libcustcalc.a
|
|
${AR} qc libcustcalc.a ${CUSTCALC_OBJ}
|
|
${RANLIB} libcustcalc.a
|
|
${CHMOD} 0644 libcustcalc.a
|
|
|
|
##
|
|
#
|
|
# File list generation. You can ignore this section.
|
|
#
|
|
#
|
|
# We will form the names of source files as if they were in a
|
|
# sub-directory called calc/lib.
|
|
#
|
|
# NOTE: Due to bogus shells found on one common system we must have
|
|
# an non-empty else clause for every if condition. *sigh*
|
|
#
|
|
##
|
|
|
|
distlist: ${DISTLIST}
|
|
${Q} for i in ${DISTLIST} /dev/null; do \
|
|
if [ X"$$i" != X"/dev/null" ]; then \
|
|
echo custom/$$i; \
|
|
fi; \
|
|
done
|
|
|
|
distdir:
|
|
${Q} echo custom
|
|
|
|
calcliblist: ${CALCLIBLIST}
|
|
${Q} for i in ${CALCLIBLIST} /dev/null; do \
|
|
if [ X"$$i" != X"/dev/null" ]; then \
|
|
echo custom/$$i; \
|
|
fi; \
|
|
done
|
|
|
|
|
|
##
|
|
#
|
|
# Home grown make dependency rules. Your system make not support
|
|
# or have the needed tools. You can ignore this section.
|
|
#
|
|
# We will form a skeleton tree of *.c files containing only #include "foo.h"
|
|
# lines and .h files containing the same lines surrounded by multiple include
|
|
# prevention lines. This allows us to build a static depend list that will
|
|
# satisfy all possible cpp symbol definition combinations.
|
|
#
|
|
##
|
|
|
|
depend:
|
|
${Q} if [ -f ${MAKE_FILE}.bak ]; then \
|
|
echo "custom/${MAKE_FILE}.bak exists, remove or move it"; \
|
|
exit 1; \
|
|
else \
|
|
${TRUE}; \
|
|
fi
|
|
${Q} echo forming custom/skel
|
|
${Q} ${RM} -rf skel
|
|
${Q} ${MKDIR} -p skel
|
|
${Q} ${MKDIR} -p skel/custom
|
|
-${Q} for i in ${C_SRC} /dev/null; do \
|
|
if [ X"$$i" != X"/dev/null" ]; then \
|
|
${SED} -n '/^#[ ]*include[ ]*"/p' \
|
|
"$$i" > "skel/custom/$$i"; \
|
|
fi; \
|
|
done
|
|
-${Q} for i in ${H_SRC} /dev/null; do \
|
|
if [ "$$i" = "/dev/null" ]; then continue; fi; \
|
|
tag="`echo $$i | ${SED} 's/[\.+,:]/_/g'`"; \
|
|
echo "#if !defined($$tag)" > "skel/custom/$$i"; \
|
|
echo "#define $$tag" >> "skel/custom/$$i"; \
|
|
${SED} -n '/^#[ ]*include[ ]*"/p' "$$i" \
|
|
>> "skel/custom/$$i"; \
|
|
echo '#endif /* '"$$tag"' */' >> "skel/custom/$$i"; \
|
|
done
|
|
${Q} (cd ..; ${MAKE} -f ${MAKE_FILE} hsrc)
|
|
${MAKE} -f ../${MAKE_FILE} h_list 2>/dev/null | \
|
|
while read i; do \
|
|
if [ ! -f "../$$i" ]; then continue; fi; \
|
|
tag="`echo $$i | ${SED} 's/[\.+,:]/_/g'`"; \
|
|
echo "#if !defined($$tag)" > "skel/$$i"; \
|
|
echo "#define $$tag" >> "skel/$$i"; \
|
|
${SED} -n '/^#[ ]*include[ ]*"/p' "../$$i" \
|
|
>> "skel/$$i"; \
|
|
echo '#endif /* '"$$tag"' */' >> "skel/$$i"; \
|
|
done
|
|
${Q} ${RM} -f skel/custom/makedep.out skel/custom/makedep.in
|
|
${Q} echo custom/skel formed
|
|
${Q} echo forming custom dependency list
|
|
${Q} :> skel/custom/makedep.out
|
|
${Q} cd skel/custom; ${MAKEDEPEND} \
|
|
-I../../.. -w 1 -f makedep.out -- \
|
|
${CFLAGS} -- \
|
|
${C_SRC} 2>/dev/null
|
|
${Q} ${CP} -f skel/custom/makedep.out skel/custom/makedep.in
|
|
${Q} ${SED} -e 's|: ../../|: |' -E < skel/custom/makedep.in | \
|
|
${GREP} -v /usr/include > skel/custom/makedep.out
|
|
-${Q} for i in ${C_SRC} /dev/null; do \
|
|
if [ X"$$i" != X"/dev/null" ]; then \
|
|
echo "$$i" | ${SED} 's/^\(.*\)\.c/\1.o: \1.c/'; \
|
|
fi; \
|
|
done >> skel/custom/makedep.out
|
|
${Q} LANG=C ${SORT} -u skel/custom/makedep.out \
|
|
-o skel/custom/makedep.out
|
|
${Q} echo custom dependency list formed
|
|
${Q} echo forming new custom/${MAKE_FILE}
|
|
${Q} ${RM} -f ${MAKE_FILE}.bak
|
|
${Q} ${MV} ${MAKE_FILE} ${MAKE_FILE}.bak
|
|
${Q} ${SED} -n '1,/^# DO NOT DELETE THIS LINE/p' \
|
|
${MAKE_FILE}.bak > ${MAKE_FILE}
|
|
${Q} ${GREP} -v '^#' skel/custom/makedep.out >> ${MAKE_FILE}
|
|
${Q} echo removing skel
|
|
${Q} ${RM} -rf skel
|
|
-${Q} if ${CMP} -s ${MAKE_FILE}.bak ${MAKE_FILE}; then \
|
|
echo 'custom/${MAKE_FILE} was already up to date'; \
|
|
echo 'restoring original custom/${MAKE_FILE}'; \
|
|
${MV} -f ${MAKE_FILE}.bak ${MAKE_FILE}; \
|
|
else \
|
|
echo 'old custom/${MAKE_FILE} is now custom/${MAKE_FILE}.bak'; \
|
|
echo 'new custom/${MAKE_FILE} formed'; \
|
|
echo 'try: diff -u custom/${MAKE_FILE}.bak custom/${MAKE_FILE}'; \
|
|
fi
|
|
|
|
##
|
|
#
|
|
# rpm rules
|
|
#
|
|
##
|
|
|
|
echo_inst_files:
|
|
${Q} for i in ${INSTALL_H_SRC} /dev/null; do \
|
|
if [ X"$$i" != X"/dev/null" ]; then \
|
|
echo __file__ ${CUSTOMINCDIR}/$$i; \
|
|
fi; \
|
|
done
|
|
${Q} for i in ${CUSTOM_HELP} /dev/null; do \
|
|
if [ X"$$i" != X"/dev/null" ]; then \
|
|
echo __file__ ${CUSTOMHELPDIR}/$$i; \
|
|
fi; \
|
|
done
|
|
${Q} for i in ${CUSTOM_CALC_FILES} /dev/null; do \
|
|
if [ X"$$i" != X"/dev/null" ]; then \
|
|
echo __file__ ${CUSTOMCALDIR}/$$i; \
|
|
fi; \
|
|
done
|
|
${Q} for i in ${CALC_DYNAMIC_LIBCUSTCALC} /dev/null; do \
|
|
if [ X"$$i" != X"/dev/null" ]; then \
|
|
echo __file__ ${CUSTOMCALDIR}/$$i; \
|
|
fi; \
|
|
done
|
|
|
|
##
|
|
#
|
|
# Utility rules
|
|
#
|
|
##
|
|
|
|
clean:
|
|
${RM} -f ${CUSTCALC_OBJ}
|
|
|
|
clobber: clean
|
|
${RM} -f ${BLD_TYPE}
|
|
${RM} -f .all ${MAKE_FILE}.tmp ${MAKE_FILE}.bak
|
|
${RM} -f libcustcalc${LIB_EXT_VERSION}
|
|
${RM} -f libcustcalc${LIB_EXT}
|
|
${RM} -f libcustcalc.a
|
|
${RM} -f libcustcalc*
|
|
${RM} -rf skel
|
|
${V} echo remove files that are obsolete
|
|
-${Q} if [ -e .DS_Store ]; then \
|
|
echo ${RM} -rf .DS_Store; \
|
|
${RM} -rf .DS_Store; \
|
|
fi
|
|
|
|
# install everything
|
|
#
|
|
# NOTE: Keep the uninstall rule in reverse order to the install rule
|
|
#
|
|
install: all
|
|
-${Q} if [ ! -d ${T}${LIBDIR} ]; then \
|
|
echo ${MKDIR} -p ${T}${LIBDIR}; \
|
|
${MKDIR} -p ${T}${LIBDIR}; \
|
|
if [ ! -d "${T}${LIBDIR}" ]; then \
|
|
echo ${MKDIR} -p "${T}${LIBDIR}"; \
|
|
${MKDIR} -p "${T}${LIBDIR}"; \
|
|
fi; \
|
|
echo ${CHMOD} 0755 ${T}${LIBDIR}; \
|
|
${CHMOD} 0755 ${T}${LIBDIR}; \
|
|
else \
|
|
${TRUE}; \
|
|
fi
|
|
-${Q} if [ ! -d ${T}${INCDIR} ]; then \
|
|
echo ${MKDIR} -p ${T}${INCDIR}; \
|
|
${MKDIR} -p ${T}${INCDIR}; \
|
|
if [ ! -d "${T}${INCDIR}" ]; then \
|
|
echo ${MKDIR} -p "${T}${INCDIR}"; \
|
|
${MKDIR} -p "${T}${INCDIR}"; \
|
|
fi; \
|
|
echo ${CHMOD} 0755 ${T}${INCDIR}; \
|
|
${CHMOD} 0755 ${T}${INCDIR}; \
|
|
else \
|
|
${TRUE}; \
|
|
fi
|
|
-${Q} if [ ! -d ${T}${CALC_SHAREDIR} ]; then \
|
|
echo ${MKDIR} -p ${T}${CALC_SHAREDIR}; \
|
|
${MKDIR} -p ${T}${CALC_SHAREDIR}; \
|
|
if [ ! -d "${T}${CALC_SHAREDIR}" ]; then \
|
|
echo ${MKDIR} -p "${T}${CALC_SHAREDIR}"; \
|
|
${MKDIR} -p "${T}${CALC_SHAREDIR}"; \
|
|
fi; \
|
|
echo ${CHMOD} 0755 ${T}${CALC_SHAREDIR}; \
|
|
${CHMOD} 0755 ${T}${CALC_SHAREDIR}; \
|
|
else \
|
|
${TRUE}; \
|
|
fi
|
|
-${Q} if [ ! -d ${T}${CALC_INCDIR} ]; then \
|
|
echo ${MKDIR} -p ${T}${CALC_INCDIR}; \
|
|
${MKDIR} -p ${T}${CALC_INCDIR}; \
|
|
if [ ! -d "${T}${CALC_INCDIR}" ]; then \
|
|
echo ${MKDIR} -p "${T}${CALC_INCDIR}"; \
|
|
${MKDIR} -p "${T}${CALC_INCDIR}"; \
|
|
fi; \
|
|
echo ${CHMOD} 0755 ${T}${CALC_INCDIR}; \
|
|
${CHMOD} 0755 ${T}${CALC_INCDIR}; \
|
|
else \
|
|
${TRUE}; \
|
|
fi
|
|
-${Q} if [ ! -d ${T}${HELPDIR} ]; then \
|
|
echo ${MKDIR} -p ${T}${HELPDIR}; \
|
|
${MKDIR} -p ${T}${HELPDIR}; \
|
|
if [ ! -d "${T}${HELPDIR}" ]; then \
|
|
echo ${MKDIR} -p "${T}${HELPDIR}"; \
|
|
${MKDIR} -p "${T}${HELPDIR}"; \
|
|
fi; \
|
|
echo ${CHMOD} 0755 ${T}${HELPDIR}; \
|
|
${CHMOD} 0755 ${T}${HELPDIR}; \
|
|
else \
|
|
${TRUE}; \
|
|
fi
|
|
-${Q} if [ ! -d ${T}${CUSTOMCALDIR} ]; then \
|
|
echo ${MKDIR} -p ${T}${CUSTOMCALDIR}; \
|
|
${MKDIR} -p ${T}${CUSTOMCALDIR}; \
|
|
if [ ! -d "${T}${CUSTOMCALDIR}" ]; then \
|
|
echo ${MKDIR} -p "${T}${CUSTOMCALDIR}"; \
|
|
${MKDIR} -p "${T}${CUSTOMCALDIR}"; \
|
|
fi; \
|
|
echo ${CHMOD} 0755 ${T}${CUSTOMCALDIR}; \
|
|
${CHMOD} 0755 ${T}${CUSTOMCALDIR}; \
|
|
else \
|
|
${TRUE}; \
|
|
fi
|
|
-${Q} if [ ! -d ${T}${CUSTOMHELPDIR} ]; then \
|
|
echo ${MKDIR} -p ${T}${CUSTOMHELPDIR}; \
|
|
${MKDIR} -p ${T}${CUSTOMHELPDIR}; \
|
|
if [ ! -d "${T}${CUSTOMHELPDIR}" ]; then \
|
|
echo ${MKDIR} -p "${T}${CUSTOMHELPDIR}"; \
|
|
${MKDIR} -p "${T}${CUSTOMHELPDIR}"; \
|
|
fi; \
|
|
echo ${CHMOD} 0755 ${T}${CUSTOMHELPDIR}; \
|
|
${CHMOD} 0755 ${T}${CUSTOMHELPDIR}; \
|
|
else \
|
|
${TRUE}; \
|
|
fi
|
|
-${Q} if [ ! -d ${T}${CUSTOMINCDIR} ]; then \
|
|
echo ${MKDIR} -p ${T}${CUSTOMINCDIR}; \
|
|
${MKDIR} -p ${T}${CUSTOMINCDIR}; \
|
|
if [ ! -d "${T}${CUSTOMINCDIR}" ]; then \
|
|
echo ${MKDIR} -p "${T}${CUSTOMINCDIR}"; \
|
|
${MKDIR} -p "${T}${CUSTOMINCDIR}"; \
|
|
fi; \
|
|
echo ${CHMOD} 0755 ${T}${CUSTOMINCDIR}; \
|
|
${CHMOD} 0755 ${T}${CUSTOMINCDIR}; \
|
|
else \
|
|
${TRUE}; \
|
|
fi
|
|
-${Q} for i in ${INSTALL_H_SRC} /dev/null; do \
|
|
if [ "$$i" = "/dev/null" ]; then \
|
|
continue; \
|
|
fi; \
|
|
if ${CMP} -s "$$i" ${T}${CUSTOMINCDIR}/$$i; then \
|
|
${TRUE}; \
|
|
else \
|
|
${RM} -f ${T}${CUSTOMINCDIR}/$$i.new; \
|
|
${CP} -f $$i ${T}${CUSTOMINCDIR}/$$i.new; \
|
|
${CHMOD} 0444 ${T}${CUSTOMINCDIR}/$$i.new; \
|
|
${MV} -f ${T}${CUSTOMINCDIR}/$$i.new ${T}${CUSTOMINCDIR}/$$i; \
|
|
echo "installed ${T}${CUSTOMINCDIR}/$$i"; \
|
|
fi; \
|
|
done
|
|
-${Q} for i in ${CUSTOM_CALC_FILES} /dev/null; do \
|
|
if [ "$$i" = "/dev/null" ]; then \
|
|
continue; \
|
|
fi; \
|
|
if ${CMP} -s $$i ${T}${CUSTOMCALDIR}/$$i; then \
|
|
${TRUE}; \
|
|
else \
|
|
${RM} -f ${T}${CUSTOMCALDIR}/$$i.new; \
|
|
${CP} -f $$i ${T}${CUSTOMCALDIR}/$$i.new; \
|
|
${CHMOD} 0444 ${T}${CUSTOMCALDIR}/$$i.new; \
|
|
${MV} -f ${T}${CUSTOMCALDIR}/$$i.new ${T}${CUSTOMCALDIR}/$$i; \
|
|
echo "installed ${T}${CUSTOMCALDIR}/$$i"; \
|
|
fi; \
|
|
done
|
|
-${Q} for i in ${CUSTOM_HELP} /dev/null; do \
|
|
if [ "$$i" = "/dev/null" ]; then \
|
|
continue; \
|
|
fi; \
|
|
if ${CMP} -s $$i ${T}${CUSTOMHELPDIR}/$$i; then \
|
|
${TRUE}; \
|
|
else \
|
|
${RM} -f ${T}${CUSTOMHELPDIR}/$$i.new; \
|
|
${CP} -f $$i ${T}${CUSTOMHELPDIR}/$$i.new; \
|
|
${CHMOD} 0444 ${T}${CUSTOMHELPDIR}/$$i.new; \
|
|
${MV} -f ${T}${CUSTOMHELPDIR}/$$i.new \
|
|
${T}${CUSTOMHELPDIR}/$$i; \
|
|
echo "installed ${T}${CUSTOMHELPDIR}/$$i"; \
|
|
fi; \
|
|
done
|
|
-${Q} if [ -f "${T}${CUSTOMCALDIR}/libcustcalc.a" ]; then \
|
|
${RM} -f ${T}${CUSTOMCALDIR}/libcustcalc.a; \
|
|
echo "removed old ${T}${CUSTOMCALDIR}/libcustcalc.a"; \
|
|
fi
|
|
-${Q} if [ ! -z ${ALLOW_CUSTOM} ]; then \
|
|
if [ -f libcustcalc.a ]; then \
|
|
if ${CMP} -s libcustcalc.a ${T}${LIBDIR}/libcustcalc.a; then \
|
|
${TRUE}; \
|
|
else \
|
|
${RM} -f ${T}${LIBDIR}/libcustcalc.a.new; \
|
|
${CP} -f libcustcalc.a ${T}${LIBDIR}/libcustcalc.a.new; \
|
|
${CHMOD} 0644 ${T}${LIBDIR}/libcustcalc.a.new; \
|
|
${MV} -f ${T}${LIBDIR}/libcustcalc.a.new \
|
|
${T}${LIBDIR}/libcustcalc.a; \
|
|
${RANLIB} ${T}${LIBDIR}/libcustcalc.a; \
|
|
echo "installed ${T}${LIBDIR}/libcustcalc.a"; \
|
|
fi; \
|
|
fi; \
|
|
fi
|
|
${Q}# NOTE: The upper level makefile installs the file
|
|
${Q}# libcustcalc${LIB_EXT_VERSION} because we only want to
|
|
${Q}# perform one ${LDCONFIG} for both libcalc${LIB_EXT_VERSION}
|
|
${Q}# and libcustcalc${LIB_EXT_VERSION}.
|
|
|
|
# Try to remove everything that was installed
|
|
#
|
|
# NOTE: Keep the uninstall rule in reverse order to the install rule
|
|
#
|
|
uninstall:
|
|
-${Q} if [ -f "${T}${CUSTOMCALDIR}/libcustcalc.a" ]; then \
|
|
${RM} -f "${T}${CUSTOMCALDIR}/libcustcalc.a"; \
|
|
if [ -f "${T}${CUSTOMCALDIR}/libcustcalc.a" ]; then \
|
|
echo "cannot uninstall ${T}${CUSTOMCALDIR}/libcustcalc.a"; \
|
|
else \
|
|
echo "un-installed ${T}${CUSTOMCALDIR}/libcustcalc.a"; \
|
|
fi; \
|
|
fi
|
|
-${Q} for i in ${CUSTOM_HELP} /dev/null; do \
|
|
if [ "$$i" = "/dev/null" ]; then \
|
|
continue; \
|
|
fi; \
|
|
if [ -f "${T}${CUSTOMHELPDIR}/$$i" ]; then \
|
|
${RM} -f "${T}${CUSTOMHELPDIR}/$$i"; \
|
|
if [ -f "${T}${CUSTOMHELPDIR}/$$i" ]; then \
|
|
echo "cannot uninstall ${T}${CUSTOMHELPDIR}/$$i"; \
|
|
else \
|
|
echo "un-installed ${T}${CUSTOMHELPDIR}/$$i"; \
|
|
fi; \
|
|
fi; \
|
|
done
|
|
-${Q} for i in ${CUSTOM_CALC_FILES} /dev/null; do \
|
|
if [ "$$i" = "/dev/null" ]; then \
|
|
continue; \
|
|
fi; \
|
|
if [ -f "${T}${CUSTOMCALDIR}/$$i" ]; then \
|
|
${RM} -f "${T}${CUSTOMCALDIR}/$$i"; \
|
|
if [ -f "${T}${CUSTOMCALDIR}/$$i" ]; then \
|
|
echo "cannot uninstall ${T}${CUSTOMCALDIR}/$$i"; \
|
|
else \
|
|
echo "un-installed ${T}${CUSTOMCALDIR}/$$i"; \
|
|
fi; \
|
|
fi; \
|
|
done
|
|
-${Q} for i in ${INSTALL_H_SRC} /dev/null; do \
|
|
if [ "$$i" = "/dev/null" ]; then \
|
|
continue; \
|
|
fi; \
|
|
if [ -f "${T}${CUSTOMINCDIR}/$$i" ]; then \
|
|
${RM} -f "${T}${CUSTOMINCDIR}/$$i"; \
|
|
if [ -f "${T}${CUSTOMINCDIR}/$$i" ]; then \
|
|
echo "cannot uninstall ${T}${CUSTOMINCDIR}/$$i"; \
|
|
else \
|
|
echo "un-installed ${T}${CUSTOMINCDIR}/$$i"; \
|
|
fi; \
|
|
fi; \
|
|
done
|
|
-${Q} for i in ${CUSTOMINCDIR} ${CUSTOMHELPDIR} ${CUSTOMCALDIR} \
|
|
${HELPDIR} ${CALC_INCDIR} ${CALC_SHAREDIR} ${INCDIR}; do \
|
|
if [ -d "${T}$$i" ]; then \
|
|
${RMDIR} "${T}$$i" 2>/dev/null; \
|
|
echo "cleaned up ${T}$$i"; \
|
|
fi; \
|
|
done
|
|
|
|
##
|
|
#
|
|
# make depend stuff
|
|
#
|
|
##
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
|
|
|
c_argv.o: ../alloc.h
|
|
c_argv.o: ../attribute.h
|
|
c_argv.o: ../banned.h
|
|
c_argv.o: ../block.h
|
|
c_argv.o: ../byteswap.h
|
|
c_argv.o: ../calc.h
|
|
c_argv.o: ../calcerr.h
|
|
c_argv.o: ../cmath.h
|
|
c_argv.o: ../config.h
|
|
c_argv.o: ../custom.h
|
|
c_argv.o: ../decl.h
|
|
c_argv.o: ../endian_calc.h
|
|
c_argv.o: ../hash.h
|
|
c_argv.o: ../have_ban_pragma.h
|
|
c_argv.o: ../have_const.h
|
|
c_argv.o: ../have_memmv.h
|
|
c_argv.o: ../have_newstr.h
|
|
c_argv.o: ../have_stdlib.h
|
|
c_argv.o: ../have_string.h
|
|
c_argv.o: ../have_unused.h
|
|
c_argv.o: ../longbits.h
|
|
c_argv.o: ../nametype.h
|
|
c_argv.o: ../qmath.h
|
|
c_argv.o: ../sha1.h
|
|
c_argv.o: ../str.h
|
|
c_argv.o: ../value.h
|
|
c_argv.o: ../zmath.h
|
|
c_argv.o: c_argv.c
|
|
c_devnull.o: ../alloc.h
|
|
c_devnull.o: ../attribute.h
|
|
c_devnull.o: ../banned.h
|
|
c_devnull.o: ../block.h
|
|
c_devnull.o: ../byteswap.h
|
|
c_devnull.o: ../calcerr.h
|
|
c_devnull.o: ../cmath.h
|
|
c_devnull.o: ../config.h
|
|
c_devnull.o: ../custom.h
|
|
c_devnull.o: ../decl.h
|
|
c_devnull.o: ../endian_calc.h
|
|
c_devnull.o: ../hash.h
|
|
c_devnull.o: ../have_ban_pragma.h
|
|
c_devnull.o: ../have_const.h
|
|
c_devnull.o: ../have_memmv.h
|
|
c_devnull.o: ../have_newstr.h
|
|
c_devnull.o: ../have_stdlib.h
|
|
c_devnull.o: ../have_string.h
|
|
c_devnull.o: ../have_unistd.h
|
|
c_devnull.o: ../have_unused.h
|
|
c_devnull.o: ../longbits.h
|
|
c_devnull.o: ../nametype.h
|
|
c_devnull.o: ../qmath.h
|
|
c_devnull.o: ../sha1.h
|
|
c_devnull.o: ../str.h
|
|
c_devnull.o: ../value.h
|
|
c_devnull.o: ../zmath.h
|
|
c_devnull.o: c_devnull.c
|
|
c_help.o: ../alloc.h
|
|
c_help.o: ../attribute.h
|
|
c_help.o: ../banned.h
|
|
c_help.o: ../block.h
|
|
c_help.o: ../byteswap.h
|
|
c_help.o: ../calcerr.h
|
|
c_help.o: ../cmath.h
|
|
c_help.o: ../config.h
|
|
c_help.o: ../custom.h
|
|
c_help.o: ../decl.h
|
|
c_help.o: ../endian_calc.h
|
|
c_help.o: ../hash.h
|
|
c_help.o: ../have_ban_pragma.h
|
|
c_help.o: ../have_const.h
|
|
c_help.o: ../have_memmv.h
|
|
c_help.o: ../have_newstr.h
|
|
c_help.o: ../have_stdlib.h
|
|
c_help.o: ../have_string.h
|
|
c_help.o: ../have_unistd.h
|
|
c_help.o: ../have_unused.h
|
|
c_help.o: ../longbits.h
|
|
c_help.o: ../nametype.h
|
|
c_help.o: ../qmath.h
|
|
c_help.o: ../sha1.h
|
|
c_help.o: ../str.h
|
|
c_help.o: ../value.h
|
|
c_help.o: ../zmath.h
|
|
c_help.o: c_help.c
|
|
c_pmodm127.o: ../alloc.h
|
|
c_pmodm127.o: ../attribute.h
|
|
c_pmodm127.o: ../banned.h
|
|
c_pmodm127.o: ../block.h
|
|
c_pmodm127.o: ../byteswap.h
|
|
c_pmodm127.o: ../calcerr.h
|
|
c_pmodm127.o: ../cmath.h
|
|
c_pmodm127.o: ../config.h
|
|
c_pmodm127.o: ../custom.h
|
|
c_pmodm127.o: ../decl.h
|
|
c_pmodm127.o: ../endian_calc.h
|
|
c_pmodm127.o: ../hash.h
|
|
c_pmodm127.o: ../have_ban_pragma.h
|
|
c_pmodm127.o: ../have_const.h
|
|
c_pmodm127.o: ../have_memmv.h
|
|
c_pmodm127.o: ../have_newstr.h
|
|
c_pmodm127.o: ../have_stdlib.h
|
|
c_pmodm127.o: ../have_string.h
|
|
c_pmodm127.o: ../have_unused.h
|
|
c_pmodm127.o: ../longbits.h
|
|
c_pmodm127.o: ../nametype.h
|
|
c_pmodm127.o: ../qmath.h
|
|
c_pmodm127.o: ../sha1.h
|
|
c_pmodm127.o: ../str.h
|
|
c_pmodm127.o: ../value.h
|
|
c_pmodm127.o: ../zmath.h
|
|
c_pmodm127.o: c_pmodm127.c
|
|
c_pzasusb8.o: ../alloc.h
|
|
c_pzasusb8.o: ../attribute.h
|
|
c_pzasusb8.o: ../banned.h
|
|
c_pzasusb8.o: ../block.h
|
|
c_pzasusb8.o: ../byteswap.h
|
|
c_pzasusb8.o: ../calcerr.h
|
|
c_pzasusb8.o: ../cmath.h
|
|
c_pzasusb8.o: ../config.h
|
|
c_pzasusb8.o: ../custom.h
|
|
c_pzasusb8.o: ../decl.h
|
|
c_pzasusb8.o: ../endian_calc.h
|
|
c_pzasusb8.o: ../hash.h
|
|
c_pzasusb8.o: ../have_ban_pragma.h
|
|
c_pzasusb8.o: ../have_const.h
|
|
c_pzasusb8.o: ../have_memmv.h
|
|
c_pzasusb8.o: ../have_newstr.h
|
|
c_pzasusb8.o: ../have_stdlib.h
|
|
c_pzasusb8.o: ../have_string.h
|
|
c_pzasusb8.o: ../have_unused.h
|
|
c_pzasusb8.o: ../longbits.h
|
|
c_pzasusb8.o: ../nametype.h
|
|
c_pzasusb8.o: ../qmath.h
|
|
c_pzasusb8.o: ../sha1.h
|
|
c_pzasusb8.o: ../str.h
|
|
c_pzasusb8.o: ../value.h
|
|
c_pzasusb8.o: ../zmath.h
|
|
c_pzasusb8.o: c_pzasusb8.c
|
|
c_register.o: ../alloc.h
|
|
c_register.o: ../attribute.h
|
|
c_register.o: ../banned.h
|
|
c_register.o: ../block.h
|
|
c_register.o: ../byteswap.h
|
|
c_register.o: ../calc.h
|
|
c_register.o: ../calcerr.h
|
|
c_register.o: ../cmath.h
|
|
c_register.o: ../config.h
|
|
c_register.o: ../custom.h
|
|
c_register.o: ../decl.h
|
|
c_register.o: ../endian_calc.h
|
|
c_register.o: ../hash.h
|
|
c_register.o: ../have_ban_pragma.h
|
|
c_register.o: ../have_const.h
|
|
c_register.o: ../have_memmv.h
|
|
c_register.o: ../have_newstr.h
|
|
c_register.o: ../have_stdlib.h
|
|
c_register.o: ../have_string.h
|
|
c_register.o: ../have_unused.h
|
|
c_register.o: ../longbits.h
|
|
c_register.o: ../nametype.h
|
|
c_register.o: ../qmath.h
|
|
c_register.o: ../sha1.h
|
|
c_register.o: ../str.h
|
|
c_register.o: ../value.h
|
|
c_register.o: ../zmath.h
|
|
c_register.o: c_register.c
|
|
c_sysinfo.o: ../alloc.h
|
|
c_sysinfo.o: ../attribute.h
|
|
c_sysinfo.o: ../banned.h
|
|
c_sysinfo.o: ../block.h
|
|
c_sysinfo.o: ../byteswap.h
|
|
c_sysinfo.o: ../calc.h
|
|
c_sysinfo.o: ../calcerr.h
|
|
c_sysinfo.o: ../cmath.h
|
|
c_sysinfo.o: ../conf.h
|
|
c_sysinfo.o: ../config.h
|
|
c_sysinfo.o: ../custom.h
|
|
c_sysinfo.o: ../decl.h
|
|
c_sysinfo.o: ../endian_calc.h
|
|
c_sysinfo.o: ../fposval.h
|
|
c_sysinfo.o: ../hash.h
|
|
c_sysinfo.o: ../have_ban_pragma.h
|
|
c_sysinfo.o: ../have_const.h
|
|
c_sysinfo.o: ../have_memmv.h
|
|
c_sysinfo.o: ../have_newstr.h
|
|
c_sysinfo.o: ../have_stdlib.h
|
|
c_sysinfo.o: ../have_string.h
|
|
c_sysinfo.o: ../have_unused.h
|
|
c_sysinfo.o: ../hist.h
|
|
c_sysinfo.o: ../lib_calc.h
|
|
c_sysinfo.o: ../longbits.h
|
|
c_sysinfo.o: ../nametype.h
|
|
c_sysinfo.o: ../prime.h
|
|
c_sysinfo.o: ../qmath.h
|
|
c_sysinfo.o: ../sha1.h
|
|
c_sysinfo.o: ../str.h
|
|
c_sysinfo.o: ../value.h
|
|
c_sysinfo.o: ../zmath.h
|
|
c_sysinfo.o: ../zrand.h
|
|
c_sysinfo.o: ../zrandom.h
|
|
c_sysinfo.o: c_sysinfo.c
|
|
custtbl.o: ../alloc.h
|
|
custtbl.o: ../attribute.h
|
|
custtbl.o: ../banned.h
|
|
custtbl.o: ../block.h
|
|
custtbl.o: ../byteswap.h
|
|
custtbl.o: ../calcerr.h
|
|
custtbl.o: ../cmath.h
|
|
custtbl.o: ../config.h
|
|
custtbl.o: ../custom.h
|
|
custtbl.o: ../decl.h
|
|
custtbl.o: ../endian_calc.h
|
|
custtbl.o: ../hash.h
|
|
custtbl.o: ../have_ban_pragma.h
|
|
custtbl.o: ../have_const.h
|
|
custtbl.o: ../have_memmv.h
|
|
custtbl.o: ../have_newstr.h
|
|
custtbl.o: ../have_stdlib.h
|
|
custtbl.o: ../have_string.h
|
|
custtbl.o: ../longbits.h
|
|
custtbl.o: ../nametype.h
|
|
custtbl.o: ../qmath.h
|
|
custtbl.o: ../sha1.h
|
|
custtbl.o: ../str.h
|
|
custtbl.o: ../value.h
|
|
custtbl.o: ../zmath.h
|
|
custtbl.o: custtbl.c
|