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 typo (missing quotes) in the env rule. Fixed intendation problem in CHANGES. Combined 2.12.9.1 changes into the 2.12.8.2 to 2.12.9.0 range, and thus renamed the range to 2.12.8.2 to 2.12.9.1. Fixed issues related to building Makefile.simple. Fixed how the Makefile variable MANPATH is set for macOS. Added a bunch of information to the near bottom of HOWTO.INSTALL on calc Makefiles. This information discusses the various Makefiles found in the calc source. Added comments in various calc Makefiles about their origin. In particular, for Makefiles that are constructed such as Makefile.simple, custom/Makefile and custom/Makefile.simple there are comments about how they were made. For all calc Makefiles, including those in sub-directories, near the top there is now a line of the form: # SRC: ... some message about the origin ... Fixed how the calc(1) man page is installed under macOS. Fixed how calc man page in ${CATDIR} is formed. Fixed how Makefile.simple is formed. Fixed the #! calc script argument processing. The initial #! line must end in a -f. For example, if calc is in /usr/local/bin/calc, then the following would be the first line of a calc script: #!/usr/local/bin/calc -f ... It is common that -q be usde with a calc script, so assuming the same /usr/local/bin/calc path: #!/usr/local/bin/calc -q -f ... Use of -s in the #! first line of a calc script is not needed since -f implies -f. The argv() will now return values more typical of C's main(). Before it returned one less than the number of arguments. Now, for example, when calc is given 2 args, argv() will return 3. The value of argv(0) will be the path to calc, or in the case of a #! calc cscript, it will return the name of the script. Updated the calc man page and help/argv to reflect the above changes. Improved the formatting of the calc man page. Fixed the formation of the win32 sub-directory via the win32_hsrc Makefile rule. Due to incompatible changes to the argv() function, and #! calc scripts, we are setting the version to the next minor number: 2.13.0
1946 lines
54 KiB
Makefile
1946 lines
54 KiB
Makefile
#!/bin/make
|
|
#
|
|
# custom - makefile for calc custom routines
|
|
#
|
|
# Copyright (C) 1999-2006,2014,2017-2018,2021 Landon Curt Noll
|
|
#
|
|
# SRC: Makefile via make -f Makefile.ship custom/Makefile
|
|
#
|
|
# 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
|
|
|
|
####################################################
|
|
# NOTE: Start of section from custom/Makefile.head #
|
|
####################################################
|
|
|
|
#.###############################################################.#
|
|
#.# #.#
|
|
#.# WARNING: This Makefile is generated from a combination of #.#
|
|
#.# custom/Makefile.head, Makefile.ship, and #.#
|
|
#.# custom/Makefile.tail. We recommend that you NOT #.#
|
|
#.# edit this file, but instead edit the proper source #.#
|
|
#.# file and then make custom/Makefile: #.#
|
|
#.# #.#
|
|
#.# make custom/Makefile #.#
|
|
#.# #.#
|
|
#.# See the '# NOTE .. section from ..' lines for #.#
|
|
#.# where the source file for the lines are from. #.#
|
|
#.# #.#
|
|
#.###############################################################.#
|
|
|
|
|
|
# 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 wehre 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/sh
|
|
#SHELL= /bin/bash
|
|
#SHELL= /bin/zsh
|
|
|
|
|
|
# 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 durings 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
|
|
|
|
|
|
#if 0 /* start of skip for non-Gnu makefiles */
|
|
##############################################################################
|
|
#-=-=-=-=-=-=-=-=- Identify the target machine, if possible -=-=-=-=-=-=-=-=-#
|
|
##############################################################################
|
|
|
|
# NOTE: You can force a target value by defining target as in:
|
|
#
|
|
# make ...__optional_arguments_... target=value
|
|
|
|
# Try uname -s if the target was not already set on the make command line
|
|
#
|
|
ifeq ($(target),)
|
|
target=$(shell uname -s 2>/dev/null)
|
|
endif
|
|
#endif /* end of skip for non-Gnu makefiles */
|
|
|
|
##############################################################################
|
|
#-=-=-=-=-=-=-=-=- You may want to change some values below -=-=-=-=-=-=-=-=-#
|
|
##############################################################################
|
|
|
|
# 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
|
|
|
|
##############################################################################
|
|
#-=-=-=-=-=-=- 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 slience ${CC} output during hsrc file formation
|
|
# S= full ${CC} output during hsrc file formation
|
|
#
|
|
# E= 2>/dev/null slience 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= /usr/local/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= /usr/local/bin
|
|
#BINDIR= /dev/env/DJDIR/bin
|
|
BINDIR= /usr/bin
|
|
|
|
#LIBDIR= /usr/local/lib
|
|
#LIBDIR= /dev/env/DJDIR/lib
|
|
LIBDIR= /usr/lib
|
|
|
|
#CALC_SHAREDIR= /usr/local/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+ -DWINDOZ 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+ -DWINDOZ
|
|
|
|
# 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=
|
|
|
|
# Controlling file makefile basename (without the path)
|
|
#
|
|
# This is the basename same of the makefile that may/does/will drive
|
|
# this makefile.
|
|
#
|
|
# If in doubt, set TOP_MAKE_FILE to Makefile
|
|
#
|
|
TOP_MAKE_FILE= Makefile
|
|
|
|
# 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 # windoz / Cygwin
|
|
#
|
|
# If in doubt, use EXT=
|
|
#
|
|
EXT=
|
|
#EXT=.exe
|
|
|
|
# The default calc versions
|
|
#
|
|
VERSION= 2.13.0.0
|
|
|
|
# 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
|
|
FMT= fmt
|
|
GREP= egrep
|
|
LN= ln
|
|
MAKE= make
|
|
MAKEDEPEND= makedepend
|
|
MKDIR= mkdir
|
|
MV= mv
|
|
RM= rm
|
|
RMDIR= rmdir
|
|
SED= sed
|
|
SORT= sort
|
|
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} #
|
|
###########################################
|
|
|
|
#if 0 /* start of skip for non-Gnu makefiles */
|
|
|
|
# Required flags to compile C files for calc
|
|
#
|
|
# ICFLAGS are given to ${CC} for intermediate progs used to help compile calc
|
|
# CFLAGS are given to ${CC} for calc progs other than intermediate progs
|
|
#
|
|
# NOTE: This does not work for: make-XYZ-only and BLD_TYPE != make-XYZ-only
|
|
#
|
|
ifeq ($(BLD_TYPE),calc-static-only)
|
|
ICFLAGS= ${COMMON_CFLAGS} ${CCBAN} ${CC_STATIC}
|
|
else
|
|
ICFLAGS= ${COMMON_CFLAGS} ${CCBAN} ${CC_SHARE}
|
|
endif
|
|
CFLAGS= ${ICFLAGS} ${CCOPT}
|
|
|
|
# Required flags to link files for calc
|
|
#
|
|
# ILDFLAGS for ${CC} in linking intermediate progs used to help compile calc
|
|
# LDFLAGS for ${CC} in linking calc progs other than intermediate progs
|
|
#
|
|
ILDFLAGS= ${COMMON_LDFLAGS}
|
|
LDFLAGS= ${LD_DEBUG} ${ILDFLAGS}
|
|
|
|
#endif /* end of skip for non-Gnu makefiles */
|
|
|
|
##################################################
|
|
# NOTE: End of section from custom/Makefile.head #
|
|
##################################################
|
|
# start of host target cut - Do not remove this line
|
|
|
|
###########################################################
|
|
# NOTE: Start of section from the middle of Makefile.ship #
|
|
###########################################################
|
|
|
|
##############################################################################
|
|
#-=-=-=-=-=- 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. #
|
|
##########################################################################
|
|
|
|
#if 0 /* start of skip for non-Gnu makefiles */
|
|
################
|
|
# Linux target #
|
|
################
|
|
|
|
ifeq ($(target),Linux)
|
|
#
|
|
BLD_TYPE= calc-dynamic-only
|
|
#
|
|
CC_SHARE= -fPIC
|
|
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/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}"
|
|
ifdef ALLOW_CUSTOM
|
|
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
|
else
|
|
LIBCUSTCALC_SHLIB=
|
|
endif
|
|
#
|
|
CC_STATIC=
|
|
LD_STATIC=
|
|
LIBCALC_STATIC=
|
|
LIBCUSTCALC_STATIC=
|
|
#
|
|
# If you want to add flags to all compiler and linker
|
|
# run (via ${COMMON_CFLAGS} and ${COMMON_LDFLAGS}),
|
|
# set ${COMMON_ADD}.
|
|
#
|
|
# For example to use gcc's -Werror to force warnings
|
|
# to become errors, call make with:
|
|
#
|
|
# make .. COMMON_ADD='-Werror'
|
|
#
|
|
# This facility requires a Gnu Makefile, or a make command
|
|
# that understands the += make operand.
|
|
#
|
|
COMMON_CFLAGS+= ${COMMON_ADD}
|
|
COMMON_LDFLAGS+= ${COMMON_ADD}
|
|
#
|
|
CCWARN= -Wall
|
|
WNO_IMPLICT= -Wno-implicit
|
|
WNO_ERROR_LONG_LONG= -Wno-error=long-long
|
|
WNO_LONG_LONG= -Wno-long-long
|
|
CCWERR=
|
|
CCOPT= ${DEBUG}
|
|
CCMISC=
|
|
#
|
|
LCC= gcc
|
|
CC= ${PURIFY} ${LCC} ${CCWERR}
|
|
#
|
|
endif
|
|
|
|
###############################
|
|
# Apple macOS / Darwin target #
|
|
###############################
|
|
|
|
ifeq ($(target),Darwin)
|
|
#
|
|
BLD_TYPE= calc-dynamic-only
|
|
#
|
|
CC_SHARE= -fPIC
|
|
DEFAULT_LIB_INSTALL_PATH= ${PWD}:${LIBDIR}:/usr/local/lib
|
|
LD_SHARE= ${DARWIN_ARCH}
|
|
#SET_INSTALL_NAME= no
|
|
SET_INSTALL_NAME= yes
|
|
ifeq ($(SET_INSTALL_NAME),yes)
|
|
LIBCALC_SHLIB= -single_module -undefined dynamic_lookup -dynamiclib \
|
|
-install_name ${LIBDIR}/libcalc${LIB_EXT_VERSION} ${DARWIN_ARCH}
|
|
else
|
|
LIBCALC_SHLIB= -single_module -undefined dynamic_lookup -dynamiclib \
|
|
${DARWIN_ARCH}
|
|
endif
|
|
ifdef ALLOW_CUSTOM
|
|
ifeq ($(SET_INSTALL_NAME),yes)
|
|
LIBCUSTCALC_SHLIB= -single_module -undefined dynamic_lookup -dynamiclib \
|
|
-install_name ${LIBDIR}/libcustcalc${LIB_EXT_VERSION} ${DARWIN_ARCH}
|
|
else
|
|
LIBCUSTCALC_SHLIB= -single_module -undefined dynamic_lookup -dynamiclib \
|
|
${DARWIN_ARCH}
|
|
endif
|
|
else
|
|
LIBCUSTCALC_SHLIB=
|
|
endif
|
|
#
|
|
CC_STATIC=
|
|
LD_STATIC= ${DARWIN_ARCH}
|
|
LIBCALC_STATIC=
|
|
LIBCUSTCALC_STATIC=
|
|
#
|
|
# If you want to add flags to all compiler and linker
|
|
# run (via ${COMMON_CFLAGS} and ${COMMON_LDFLAGS}),
|
|
# set ${COMMON_ADD}.
|
|
#
|
|
# For example to use clang's -fsanitize for calc testing,
|
|
# which requires a common set of flags to be passed to
|
|
# every compile and link, then call make with:
|
|
#
|
|
# make .. COMMON_ADD='-fsanitize=undefined -fsanitize=address'
|
|
#
|
|
# This facility requires a Gnu Makefile, or a make command
|
|
# that understands the += make operand.
|
|
#
|
|
COMMON_CFLAGS+= ${COMMON_ADD}
|
|
COMMON_LDFLAGS+= ${COMMON_ADD}
|
|
#
|
|
CCWARN= -Wall
|
|
WNO_IMPLICT= -Wno-implicit
|
|
WNO_ERROR_LONG_LONG= -Wno-error=long-long
|
|
WNO_LONG_LONG= -Wno-long-long
|
|
CCWERR=
|
|
CCOPT= ${DEBUG}
|
|
CCMISC= ${DARWIN_ARCH}
|
|
#
|
|
LCC= clang
|
|
CC= ${PURIFY} ${LCC} ${CCWERR}
|
|
#
|
|
# Darwin dynamic shared lib filenames
|
|
LIB_EXT:= .dylib
|
|
LIB_EXT_VERSION:= .${VERSION}${LIB_EXT}
|
|
# LDCONFIG not required on this platform, so we redefine it to an empty string
|
|
LDCONFIG:=
|
|
# DARWIN_ARCH= -arch i386 -arch ppc # Universal binary
|
|
# DARWIN_ARCH= -arch i386 # Intel binary
|
|
# DARWIN_ARCH= -arch ppc # PPC binary
|
|
# DARWIN_ARCH= -arch x86_64 # native 64-bit binary
|
|
DARWIN_ARCH= # native binary
|
|
endif
|
|
|
|
##################
|
|
# FreeBSD target #
|
|
##################
|
|
|
|
########################################################################
|
|
# NOTE: You MUST either use gmake (GNU Make) or you must try your luck #
|
|
# with Makefile.simple and custom/Makefile.simple versions. #
|
|
# See HOWTO.INSTALL for more information. #
|
|
########################################################################
|
|
|
|
ifeq ($(target),FreeBSD)
|
|
#
|
|
BLD_TYPE= calc-dynamic-only
|
|
#
|
|
CC_SHARE= -fPIC
|
|
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/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}"
|
|
ifdef ALLOW_CUSTOM
|
|
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
|
else
|
|
LIBCUSTCALC_SHLIB=
|
|
endif
|
|
#
|
|
CC_STATIC=
|
|
LD_STATIC=
|
|
LIBCALC_STATIC=
|
|
LIBCUSTCALC_STATIC=
|
|
#
|
|
# If you want to add flags to all compiler and linker
|
|
# run (via ${COMMON_CFLAGS} and ${COMMON_LDFLAGS}),
|
|
# set ${COMMON_ADD}.
|
|
#
|
|
# For example to use gcc's -Werror to force warnings
|
|
# to become errors, call make with:
|
|
#
|
|
# make .. COMMON_ADD='-Werror'
|
|
#
|
|
# This facility requires a Gnu Makefile, or a make command
|
|
# that understands the += make operand.
|
|
#
|
|
COMMON_CFLAGS+= ${COMMON_ADD}
|
|
COMMON_LDFLAGS+= ${COMMON_ADD}
|
|
#
|
|
CCWARN= -Wall
|
|
WNO_IMPLICT= -Wno-implicit
|
|
WNO_ERROR_LONG_LONG= -Wno-error=long-long
|
|
WNO_LONG_LONG= -Wno-long-long
|
|
CCWERR=
|
|
CCOPT= ${DEBUG}
|
|
CCMISC=
|
|
#
|
|
LCC= gcc
|
|
CC= ${PURIFY} ${LCC} ${CCWERR}
|
|
#
|
|
MAKE= gmake
|
|
#
|
|
endif
|
|
|
|
##################
|
|
# OpenBSD target #
|
|
##################
|
|
|
|
########################################################################
|
|
# NOTE: You MUST either use gmake (GNU Make) or you must try your luck #
|
|
# with Makefile.simple and custom/Makefile.simple versions. #
|
|
# See HOWTO.INSTALL for more information. #
|
|
########################################################################
|
|
|
|
ifeq ($(target),OpenBSD)
|
|
#
|
|
BLD_TYPE= calc-dynamic-only
|
|
#
|
|
CC_SHARE= -fPIC
|
|
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/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}"
|
|
ifdef ALLOW_CUSTOM
|
|
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
|
else
|
|
LIBCUSTCALC_SHLIB=
|
|
endif
|
|
#
|
|
CC_STATIC=
|
|
LD_STATIC=
|
|
LIBCALC_STATIC=
|
|
LIBCUSTCALC_STATIC=
|
|
#
|
|
# If you want to add flags to all compiler and linker
|
|
# run (via ${COMMON_CFLAGS} and ${COMMON_LDFLAGS}),
|
|
# set ${COMMON_ADD}.
|
|
#
|
|
# For example to use gcc's -Werror to force warnings
|
|
# to become errors, call make with:
|
|
#
|
|
# make .. COMMON_ADD='-Werror'
|
|
#
|
|
# This facility requires a Gnu Makefile, or a make command
|
|
# that understands the += make operand.
|
|
#
|
|
COMMON_CFLAGS+= ${COMMON_ADD}
|
|
COMMON_LDFLAGS+= ${COMMON_ADD}
|
|
#
|
|
CCWARN= -Wall
|
|
WNO_IMPLICT= -Wno-implicit
|
|
WNO_ERROR_LONG_LONG= -Wno-error=long-long
|
|
WNO_LONG_LONG= -Wno-long-long
|
|
CCWERR=
|
|
CCOPT= ${DEBUG}
|
|
CCMISC=
|
|
#
|
|
LCC= gcc
|
|
CC= ${PURIFY} ${LCC} ${CCWERR}
|
|
#
|
|
MAKE= gmake
|
|
#
|
|
endif
|
|
|
|
################
|
|
# SunOS target #
|
|
################
|
|
|
|
ifeq ($(target),SunOS)
|
|
#
|
|
BLD_TYPE= calc-dynamic-only
|
|
#
|
|
CC_SHARE= -fPIC
|
|
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/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}"
|
|
ifdef ALLOW_CUSTOM
|
|
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
|
else
|
|
LIBCUSTCALC_SHLIB=
|
|
endif
|
|
#
|
|
CC_STATIC=
|
|
LIBCALC_STATIC=
|
|
LIBCUSTCALC_STATIC=
|
|
LD_STATIC=
|
|
#
|
|
# If you want to add flags to all compiler and linker
|
|
# run (via ${COMMON_CFLAGS} and ${COMMON_LDFLAGS}),
|
|
# set ${COMMON_ADD}.
|
|
#
|
|
# For example to use gcc's -Werror to force warnings
|
|
# to become errors, call make with:
|
|
#
|
|
# make .. COMMON_ADD='-Werror'
|
|
#
|
|
# This facility requires a Gnu Makefile, or a make command
|
|
# that understands the += make operand.
|
|
#
|
|
COMMON_CFLAGS+= ${COMMON_ADD}
|
|
COMMON_LDFLAGS+= ${COMMON_ADD}
|
|
#
|
|
CCWARN= -Wall
|
|
WNO_IMPLICT= -Wno-implicit
|
|
WNO_ERROR_LONG_LONG= -Wno-error=long-long
|
|
WNO_LONG_LONG= -Wno-long-long
|
|
CCWERR=
|
|
CCOPT= ${DEBUG}
|
|
CCMISC=
|
|
#
|
|
LCC= gcc
|
|
CC= ${PURIFY} ${LCC} ${CCWERR}
|
|
#
|
|
endif
|
|
|
|
#################
|
|
# Cygwin target #
|
|
#################
|
|
|
|
ifeq ($(target),Cygwin)
|
|
#
|
|
BLD_TYPE= calc-static-only
|
|
#
|
|
CC_SHARE= -fPIC
|
|
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/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}"
|
|
ifdef ALLOW_CUSTOM
|
|
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
|
else
|
|
LIBCUSTCALC_SHLIB=
|
|
endif
|
|
#
|
|
CC_STATIC=
|
|
LIBCALC_STATIC=
|
|
LIBCUSTCALC_STATIC=
|
|
LD_STATIC=
|
|
#
|
|
# If you want to add flags to all compiler and linker
|
|
# run (via ${COMMON_CFLAGS} and ${COMMON_LDFLAGS}),
|
|
# set ${COMMON_ADD}.
|
|
#
|
|
# For example to use gcc's -Werror to force warnings
|
|
# to become errors, call make with:
|
|
#
|
|
# make .. COMMON_ADD='-Werror'
|
|
#
|
|
# This facility requires a Gnu Makefile, or a make command
|
|
# that understands the += make operand.
|
|
#
|
|
COMMON_CFLAGS+= ${COMMON_ADD}
|
|
COMMON_LDFLAGS+= ${COMMON_ADD}
|
|
#
|
|
CCWARN= -Wall
|
|
WNO_IMPLICT= -Wno-implicit
|
|
WNO_ERROR_LONG_LONG= -Wno-error=long-long
|
|
WNO_LONG_LONG= -Wno-long-long
|
|
CCWERR=
|
|
CCOPT= ${DEBUG}
|
|
CCMISC=
|
|
#
|
|
LCC= gcc
|
|
CC= ${PURIFY} ${LCC} ${CCWERR}
|
|
#
|
|
endif
|
|
|
|
#######################################################
|
|
# simple target - values used to form Makefile.simple #
|
|
#######################################################
|
|
|
|
# NOTE: This is not a real host target. The simple target
|
|
# exists only to form the Makefile.simple file.
|
|
|
|
ifeq ($(target),simple)
|
|
#endif /* end of skip for non-Gnu makefiles */
|
|
#
|
|
BLD_TYPE= calc-static-only
|
|
#
|
|
CC_SHARE= -fPIC
|
|
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/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
|
|
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}
|
|
#
|
|
#if 0 /* start of skip for non-Gnu makefiles */
|
|
endif
|
|
|
|
###################################################
|
|
# MINGW32_NT-5.0 target #
|
|
###################################################
|
|
|
|
|
|
ifeq ($(target),MINGW32_NT-5.0)
|
|
|
|
EXT=.exe
|
|
TERMCONTROL= -DUSE_WIN32
|
|
ifdef ALLOW_CUSTOM
|
|
#endif /* end of skip for non-Gnu makefiles */
|
|
CALCPATH= .;./cal;~/.cal;${T}${CALC_SHAREDIR};${T}${CUSTOMCALDIR}
|
|
#if 0 /* start of skip for non-Gnu makefiles */
|
|
else
|
|
CALCPATH= .;./cal;~/.cal;${T}${CALC_SHAREDIR}
|
|
endif
|
|
CALCRC= ${CALC_SHAREDIR}/startup;~/.calcrc;./.calcinit
|
|
#
|
|
BLD_TYPE= calc-static-only
|
|
#
|
|
CC_SHARE= -fPIC
|
|
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/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}"
|
|
ifdef ALLOW_CUSTOM
|
|
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
|
else
|
|
LIBCUSTCALC_SHLIB=
|
|
endif
|
|
#
|
|
CC_STATIC= -DSTATIC_ONLY
|
|
LIBCALC_STATIC=
|
|
LIBCUSTCALC_STATIC=
|
|
LD_STATIC=
|
|
#
|
|
CCWARN= -Wall
|
|
WNO_IMPLICT= -Wno-implicit
|
|
WNO_ERROR_LONG_LONG= -Wno-error=long-long
|
|
WNO_LONG_LONG= -Wno-long-long
|
|
CCWERR=
|
|
CCOPT= ${DEBUG}
|
|
CCMISC= -DNOTCYGWIN
|
|
#
|
|
LCC= gcc
|
|
CC= ${PURIFY} ${LCC} ${CCWERR}
|
|
#
|
|
endif
|
|
|
|
###################################################
|
|
# default target - when no specific target exists #
|
|
###################################################
|
|
|
|
# NOTE: This is the default generic host target. Used when no other
|
|
# host target matches.
|
|
|
|
ifeq ($(target),)
|
|
#
|
|
BLD_TYPE= calc-static-only
|
|
#
|
|
CC_SHARE= -fPIC
|
|
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/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}"
|
|
ifdef ALLOW_CUSTOM
|
|
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
|
else
|
|
LIBCUSTCALC_SHLIB=
|
|
endif
|
|
#
|
|
CC_STATIC=
|
|
LIBCALC_STATIC=
|
|
LIBCUSTCALC_STATIC=
|
|
LD_STATIC=
|
|
#
|
|
# If you want to add flags to all compiler and linker
|
|
# run (via ${COMMON_CFLAGS} and ${COMMON_LDFLAGS}),
|
|
# set ${COMMON_ADD}.
|
|
#
|
|
# For example to use gcc's -Werror to force warnings
|
|
# to become errors, call make with:
|
|
#
|
|
# make .. COMMON_ADD='-Werror'
|
|
#
|
|
# This facility requires a Gnu Makefile, or a make command
|
|
# that understands the += make operand.
|
|
#
|
|
COMMON_CFLAGS+= ${COMMON_ADD}
|
|
COMMON_LDFLAGS+= ${COMMON_ADD}
|
|
#
|
|
CCWARN= -Wall
|
|
WNO_IMPLICT= -Wno-implicit
|
|
WNO_ERROR_LONG_LONG= -Wno-error=long-long
|
|
WNO_LONG_LONG= -Wno-long-long
|
|
CCWERR=
|
|
CCOPT= ${DEBUG}
|
|
CCMISC=
|
|
#
|
|
LCC= gcc
|
|
CC= ${PURIFY} ${LCC} ${CCWERR}
|
|
#
|
|
endif
|
|
|
|
###########################################
|
|
# Set the default compile flags for ${CC} #
|
|
###########################################
|
|
|
|
# Required flags to compile C files for calc
|
|
#
|
|
# 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
|
|
#
|
|
# NOTE: This does not work for: make-XYZ-only and BLD_TYPE != make-XYZ-only
|
|
#
|
|
ifeq ($(BLD_TYPE),calc-static-only)
|
|
ICFLAGS= ${COMMON_CFLAGS} ${CCBAN} ${CC_STATIC}
|
|
else
|
|
ICFLAGS= ${COMMON_CFLAGS} ${CCBAN} ${CC_SHARE}
|
|
endif
|
|
CFLAGS= ${ICFLAGS} ${CCOPT}
|
|
|
|
# Required flags to link files for calc
|
|
#
|
|
# ILDFLAGS for ${CC} in linking intermediate programs used to help compile calc
|
|
# LDFLAGS for ${CC} in linking calc programs other than intermediate programs
|
|
#
|
|
ILDFLAGS= ${COMMON_LDFLAGS}
|
|
LDFLAGS= ${LD_DEBUG} ${ILDFLAGS}
|
|
#endif /* end of skip for non-Gnu makefiles */
|
|
|
|
#######################################################################
|
|
#-=-=-=-=-=- end of target section - only make rules below -=-=-=-=-=-#
|
|
#######################################################################
|
|
|
|
#########################################################
|
|
# NOTE: End of section from the middle of Makefile.ship #
|
|
#########################################################
|
|
|
|
# end of host target cut - Do not remove this line
|
|
#
|
|
# Copyright (C) 1999-2006,2014,2017-2018,2021 Landon Curt Noll
|
|
#
|
|
# SRC: Makefile via make -f Makefile.ship custom/Makefile
|
|
#
|
|
# 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.
|
|
|
|
####################################################
|
|
# NOTE: Start of section from custom/Makefile.tail #
|
|
####################################################
|
|
|
|
##############################################################################
|
|
#-=-=-=-=-=-=-=-=- Be careful if you change something below -=-=-=-=-=-=-=-=-#
|
|
##############################################################################
|
|
|
|
# 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 ${MAKE_FILE}.head \
|
|
${MAKE_FILE}.tail
|
|
|
|
# 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 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
|
|
|
|
#if 0 /* start of skip for non-Gnu makefiles */
|
|
Makefile.simple: ${MAKE_FILE}
|
|
${V} echo '=-=-=-=-= custom/${MAKE_FILE} start of $@ rule =-=-=-=-='
|
|
${Q} ${RM} -f $@
|
|
${Q} ${AWK} '/^#if 0/{skp=1} {if(!skp){print $$0}} /^#endif/{skp=0}' \
|
|
${MAKE_FILE} | \
|
|
${GREP} -v '#\.#' | \
|
|
${SED} -e 's;^# SRC:.*;# SRC: non-GNU Makefile via;' \
|
|
-e 's;via$$;via ${MAKE} -f ${MAKE_FILE} custom/$@;' > $@
|
|
${Q} echo >> $@
|
|
${Q} echo 'Makefile.simple:' >> $@
|
|
${Q} echo ' $${Q} if [ ! -f Makefile.simple ]; then '"\\" >> $@
|
|
${Q} echo ' $${CP} -f $${MAKE_FILE} $$@; fi' >> $@
|
|
${V} echo '=-=-=-=-= custom/${MAKE_FILE} end of $@ rule =-=-=-=-='
|
|
#endif /* end of skip for non-Gnu makefiles */
|
|
|
|
##
|
|
#
|
|
# 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 ${TOP_MAKE_FILE} hsrc)
|
|
${MAKE} -f ../${TOP_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
|
|
${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} ${SED} -e 's|: ../../|: |' -E -i '' -l 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
|
|
#if 0 /* start of skip for non-Gnu makefiles */
|
|
${RM} -f Makefile.simple
|
|
#endif /* end of skip for non-Gnu makefiles */
|
|
-${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: ../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: ../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: ../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: ../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: ../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: ../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: ../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: ../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
|
|
|
|
##################################################
|
|
# NOTE: End of section from custom/Makefile.tail #
|
|
##################################################
|