#!/bin/sh [ "$BASH" ] || exec bash `which $0` ${1+"$@"} # # $Id$ # # --------------------------------------------------------------- # Copyright 1999-2001 Viktor Szakats (harbour.01 syenar.hu) # See COPYING for licensing terms. # # Harbour Project build script (for *nix systems) # # Please read INSTALL for further information. # --------------------------------------------------------------- # --------------------------------------------------------------- # See GNU bash docs here: # http://www.gnu.org/software/bash/manual/bashref.html # See POSIX shell docs here: # http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html # --------------------------------------------------------------- if [ -z "$HB_ARCHITECTURE" ]; then if [ "$OSTYPE" = "msdosdjgpp" ]; then hb_arch="dos" else hb_arch=`uname -s | tr -d "[-]" | tr '[A-Z]' '[a-z]' 2>/dev/null` case "$hb_arch" in *windows*|*mingw32*|msys*) hb_arch="win" ;; cygwin*) hb_arch="cyg" ;; *os/2*) hb_arch="os2" ;; *dos) hb_arch="dos" ;; *bsd) hb_arch="bsd" ;; esac fi export HB_ARCHITECTURE="$hb_arch" fi if [ -z "$HB_COMPILER" ]; then case "$HB_ARCHITECTURE" in win) HB_COMPILER="mingw" ;; cyg) HB_COMPILER="cygwin" ;; dos) HB_COMPILER="djgpp" ;; *) HB_COMPILER="gcc" ;; esac export HB_COMPILER fi if [ "$HB_ARCHITECTURE" = "cyg" ] then export HB_ARCHITECTURE=win fi if [ "$HB_ARCHITECTURE" = "linux" ] then if [ "${HB_USER_CFLAGS}" == "${HB_USER_CFLAGS//-fPIC/}" ] then HB_CPU=`uname -m` case "$HB_CPU" in *[@_]64) export HB_USER_CFLAGS="$HB_USER_CFLAGS -fPIC" HB_ARCH64="yes" ;; *[ix]*86) ;; *[ix]*86[^0-9]*) ;; *) export HB_USER_CFLAGS="$HB_USER_CFLAGS -fPIC" ;; esac fi fi if [ "$HB_ARCHITECTURE" = "win" ] || \ [ "$HB_ARCHITECTURE" = "wce" ] || \ [ "$HB_ARCHITECTURE" = "dos" ] || \ [ "$HB_ARCHITECTURE" = "os2" ]; then if [ -n "$HB_INSTALL_PREFIX" ]; then export HB_INSTALL_PREFIX="${HB_INSTALL_PREFIX//\\//}" fi if [ -n "$HB_BIN_INSTALL" ]; then export HB_BIN_INSTALL="${HB_BIN_INSTALL//\\//}" fi if [ -n "$HB_LIB_INSTALL" ]; then export HB_LIB_INSTALL="${HB_LIB_INSTALL//\\//}" fi if [ -n "$HB_INC_INSTALL" ]; then export HB_INC_INSTALL="${HB_INC_INSTALL//\\//}" fi if [ -n "$HB_DOC_INSTALL" ]; then export HB_DOC_INSTALL="${HB_DOC_INSTALL//\\//}" fi fi [ -z "$HB_INSTALL_PREFIX" ] && [ -n "$PREFIX" ] && export HB_INSTALL_PREFIX="$PREFIX" [ -z "$HB_INSTALL_PREFIX" ] && export HB_INSTALL_PREFIX="/usr/local" # Set to constant value to be consistent with the non-GNU make files. case "$HB_INSTALL_PREFIX" in /usr|/usr/local|/opt) hb_instsubdir="/harbour" ;; *) hb_instsubdir="" ;; esac if [ -z "$HB_BIN_INSTALL" ]; then export HB_BIN_INSTALL="$HB_INSTALL_PREFIX/bin"; fi if [ -z "$HB_LIB_INSTALL" ]; then export HB_LIB_INSTALL="$HB_INSTALL_PREFIX/lib$hb_instsubdir"; fi if [ -z "$HB_INC_INSTALL" ]; then export HB_INC_INSTALL="$HB_INSTALL_PREFIX/include$hb_instsubdir"; fi if [ "$HB_ARCHITECTURE" = "win" ] || \ [ "$HB_ARCHITECTURE" = "wce" ] || \ [ "$HB_ARCHITECTURE" = "dos" ] || \ [ "$HB_ARCHITECTURE" = "os2" ]; then if [ -z "$HB_DOC_INSTALL" ]; then export HB_DOC_INSTALL="$HB_INSTALL_PREFIX/doc"; fi fi if [ -z "$HB_ARCHITECTURE" ]; then echo "Error: HB_ARCHITECTURE is not set." fi if [ -z "$HB_COMPILER" ]; then echo "Error: HB_COMPILER is not set." fi if [ -z "$HB_ARCHITECTURE" ] || [ -z "$HB_COMPILER" ]; then echo echo "Usage: make_gnu.sh [command]" echo echo "The following commands are supported:" echo " - all (default)" echo " - clean" echo " - install" echo echo "Please read INSTALL for HOWTOs and description" echo "of available options." exit else export HARBOUR= export CLIPPER= # --------------------------------------------------------------- # Start the GNU make system if [ "$HB_ARCHITECTURE" = "bsd" ] || [ "$HB_ARCHITECTURE" = "hpux" ] then gmake $HB_USER_MAKEFLAGS $* else make $HB_USER_MAKEFLAGS $* fi if [ "$*" = "clean" ]; then find . -type d -name "$HB_ARCHITECTURE" | xargs rmdir 2> /dev/null fi fi