summaryrefslogtreecommitdiff
path: root/xmkmf.in
diff options
context:
space:
mode:
Diffstat (limited to 'xmkmf.in')
-rw-r--r--xmkmf.in66
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