diff options
Diffstat (limited to 'xmkmf.in')
-rw-r--r-- | xmkmf.in | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/xmkmf.in b/xmkmf.in new file mode 100644 index 0000000..5da01c0 --- /dev/null +++ b/xmkmf.in @@ -0,0 +1,66 @@ +#!/bin/sh + +# make a Makefile from an Imakefile from inside or outside the sources + +usage="usage: $0 [-a] [top_of_sources_pathname [current_directory]]" + +configdirspec="-I@XCONFDIR@" +topdir= +curdir=. +do_all= +imake_defines= + +while [ $# -gt 0 ] +do + case "$1" in + -D*) + imake_defines="$imake_defines $1" + shift + ;; + -a) + do_all="yes" + shift + ;; + *) + break + ;; + esac +done + +case $# in + 0) ;; + 1) topdir=$1 ;; + 2) topdir=$1 curdir=$2 ;; + *) echo "$usage" 1>&2; exit 1 ;; +esac + +case "$topdir" in + -*) echo "$usage" 1>&2; exit 1 ;; +esac + +if [ -f Makefile ]; then + echo mv -f Makefile Makefile.bak + mv -f Makefile Makefile.bak +fi + +if [ "$topdir" = "" ]; then + args="-DUseInstalled "$configdirspec +else + args="-I$topdir/config/cf -DTOPDIR=$topdir -DCURDIR=$curdir" +fi + +echo imake $imake_defines $args +case "$do_all" in +yes) + imake $imake_defines $args && + echo "make Makefiles" && + make Makefiles && + echo "make includes" && + make includes && + echo "make depend" && + make depend + ;; +*) + imake $imake_defines $args + ;; +esac |