# HG changeset patch # User Mychaela Falconia # Date 1716250524 0 # Node ID 78319ed870dc8fc8ab67f838f3428f8ec1753bf6 # Parent c0bfd300b6e587c601229cc5d1be3466af7178ff convert to new ThemWi configure and build system diff -r c0bfd300b6e5 -r 78319ed870dc .hgignore --- a/.hgignore Wed Dec 13 06:07:40 2023 +0000 +++ b/.hgignore Tue May 21 00:15:24 2024 +0000 @@ -1,6 +1,7 @@ syntax: regexp \.[oa]$ +^config\.defs$ ^utils/themwi-check-own$ ^utils/themwi-dump-numdb$ diff -r c0bfd300b6e5 -r 78319ed870dc Makefile --- a/Makefile Wed Dec 13 06:07:40 2023 +0000 +++ b/Makefile Tue May 21 00:15:24 2024 +0000 @@ -1,18 +1,20 @@ SUBDIR= include libnumdb libnumutil utils - -INSTALL_PREFIX= /opt/themwi +DESTDIR= all: ${SUBDIR} utils: libnumdb libnumutil -${SUBDIR}: FRC +${SUBDIR}: FRC config.defs cd $@; ${MAKE} ${MFLAGS} +config.defs: + @echo 'You must run ./configure before make' + @false + install: FRC - mkdir -p ${INSTALL_PREFIX} for i in ${SUBDIR}; do (cd $$i; ${MAKE} ${MFLAGS} \ - INSTALL_PREFIX=${INSTALL_PREFIX} install); done + DESTDIR=${DESTDIR} install); done clean: FRC rm -f a.out core errs diff -r c0bfd300b6e5 -r 78319ed870dc configure --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configure Tue May 21 00:15:24 2024 +0000 @@ -0,0 +1,88 @@ +#!/bin/sh +# This configure script is custom and hand-coded; +# it is NOT a product of GNU Autoconf or any other such tools! + +set -e + +if [ ! -f configure ] +then + echo "This script needs to be run from the top of the source tree" 1>&2 + exit 1 +fi + +# defaults that can be overridden +CC=gcc +CFLAGS=-O2 +prefix=/usr/local +exec_prefix= +bindir= +includedir= +libdir= + +while [ $# != 0 ] +do + case "$1" in + --prefix=*) + prefix=`echo $1 | cut -c 10-` + ;; + --exec-prefix=*) + exec_prefix=`echo $1 | cut -c 15-` + ;; + --bindir=*) + bindir=`echo $1 | cut -c 10-` + ;; + --includedir=*) + includedir=`echo $1 | cut -c 14-` + ;; + --libdir=*) + libdir=`echo $1 | cut -c 10-` + ;; + CC=*) + CC=`echo $1 | cut -c 4-` + ;; + CFLAGS=*) + CFLAGS=`echo $1 | cut -c 8-` + ;; + *) + echo "error: non-understood option $1" 1>&2 + exit 1; + ;; + esac + shift +done + +# inheritance rules for install directories + +if [ -z "$exec_prefix" ] +then + exec_prefix="$prefix" +fi +if [ -z "$bindir" ] +then + bindir="$exec_prefix/bin" +fi +if [ -z "$includedir" ] +then + includedir="$prefix/include" +fi +if [ -z "$libdir" ] +then + libdir="$exec_prefix/lib" +fi + +# report the final configuration + +echo "C code will be compiled with:" +echo " CC=$CC" +echo " CFLAGS=$CFLAGS" +echo "Installation directories:" +echo " bindir=$bindir" +echo " includedir=$includedir" +echo " libdir=$libdir" + +# emit the Makefile include fragment +echo "CC=$CC" > config.defs +echo "CFLAGS=$CFLAGS" >> config.defs +echo "bindir=$bindir" >> config.defs +echo "includedir=$includedir" >> config.defs +echo "libdir=$libdir" >> config.defs diff -r c0bfd300b6e5 -r 78319ed870dc include/Makefile --- a/include/Makefile Wed Dec 13 06:07:40 2023 +0000 +++ b/include/Makefile Tue May 21 00:15:24 2024 +0000 @@ -1,7 +1,8 @@ -INSTALL_PREFIX= /opt/themwi +FILES= number_db_v2.h number_lookup.h number_utils.h -INSTDIR=${INSTALL_PREFIX}/include/themwi/nanp -FILES= number_db_v2.h number_lookup.h number_utils.h +include ../config.defs + +INSTDIR=${DESTDIR}${includedir}/themwi/nanp all: diff -r c0bfd300b6e5 -r 78319ed870dc libnumdb/Makefile --- a/libnumdb/Makefile Wed Dec 13 06:07:40 2023 +0000 +++ b/libnumdb/Makefile Tue May 21 00:15:24 2024 +0000 @@ -1,10 +1,8 @@ -INSTALL_PREFIX= /opt/themwi - -CC= gcc -CFLAGS= -O2 -I../build-inc +CPPFLAGS=-I../build-inc OBJS= check_nanp.o check_short.o readbin.o refresh.o LIB= libnumdb.a -INSTDIR=${INSTALL_PREFIX}/lib + +include ../config.defs all: ${LIB} @@ -13,8 +11,8 @@ ranlib $@ install: - mkdir -p ${INSTDIR} - install -c -m 644 ${LIB} ${INSTDIR} + mkdir -p ${DESTDIR}${libdir} + install -c -m 644 ${LIB} ${DESTDIR}${libdir} clean: rm -f *.[oa] errs diff -r c0bfd300b6e5 -r 78319ed870dc libnumutil/Makefile --- a/libnumutil/Makefile Wed Dec 13 06:07:40 2023 +0000 +++ b/libnumutil/Makefile Tue May 21 00:15:24 2024 +0000 @@ -1,10 +1,8 @@ -INSTALL_PREFIX= /opt/themwi - -CC= gcc -CFLAGS= -O2 -I../build-inc +CPPFLAGS=-I../build-inc OBJS= digit_groups.o nanp_valid.o numstring.o LIB= libnumutil.a -INSTDIR=${INSTALL_PREFIX}/lib + +include ../config.defs all: ${LIB} @@ -13,8 +11,8 @@ ranlib $@ install: - mkdir -p ${INSTDIR} - install -c -m 644 ${LIB} ${INSTDIR} + mkdir -p ${DESTDIR}${libdir} + install -c -m 644 ${LIB} ${DESTDIR}${libdir} clean: rm -f *.[oa] errs diff -r c0bfd300b6e5 -r 78319ed870dc utils/Makefile --- a/utils/Makefile Wed Dec 13 06:07:40 2023 +0000 +++ b/utils/Makefile Tue May 21 00:15:24 2024 +0000 @@ -1,11 +1,9 @@ -INSTALL_PREFIX= /opt/themwi - -CC= gcc -CFLAGS= -O2 -I../build-inc +CPPFLAGS=-I../build-inc PROGS= themwi-check-own themwi-dump-numdb themwi-short-dial themwi-update-numdb LIBNUMDB=../libnumdb/libnumdb.a LIBUTIL=../libnumutil/libnumutil.a -INSTBIN=${INSTALL_PREFIX}/bin + +include ../config.defs all: ${PROGS} @@ -13,7 +11,7 @@ ${CC} -o $@ $@.o ${LIBNUMDB} ${LIBUTIL} themwi-dump-numdb: themwi-dump-numdb.c - ${CC} ${CFLAGS} -o $@ $@.c + ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ $@.c themwi-short-dial: themwi-short-dial.o ${LIBNUMDB} ${LIBUTIL} ${CC} -o $@ $@.o ${LIBNUMDB} ${LIBUTIL} @@ -22,8 +20,8 @@ ${CC} -o $@ $@.o ${LIBUTIL} install: - mkdir -p ${INSTBIN} - install -c -m 755 ${PROGS} ${INSTBIN} + mkdir -p ${DESTDIR}${bindir} + install -c -m 755 ${PROGS} ${DESTDIR}${bindir} clean: rm -f *.o ${PROGS} errs