2009-08-15 11:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

- make_gnu.sh
  * config/linux/global.cf
    - Deleted. The -fPIC logic is moved to linux/global.cf but it's
      incomplete yet, some comments were added there.

  * contrib/hbcurl/hbcurl.hbc
  + contrib/hbcurl/hbcurls.hbc
    + Added separate .hbc file for static mode hbcurl lib.
      This replaces former HB_CURL_STATIC setting.

  * contrib/hbcurl/Makefile
  * external/Makefile
  * contrib/Makefile
    % Minor optimization to DIRS var.
      (in few cases it wasn't init to empty with := operator)

  + contrib/hbtip/hbtipssl.hbc
  + contrib/hbtip/hbtipssl
  + contrib/hbtip/hbtipssl/Makefile
  * contrib/hbtip/Makefile
    + Now building separate SSL enabled hbtip lib in case HB_HAS_OPENSSL.
    + Added separate .hbc file for SSL enabled hbtip lib, which also
      pulls hbssl libs and dependencies.

  * config/prg.cf
  * config/lib.cf
  * config/bin.cf
  * config/globsh.cf
  * config/dir.cf
  * config/c.cf
  * config/header.cf
  * config/doc.cf
  * config/instsh.cf
  * config/dirsh.cf
    % Optimized remaining (more delicate) logic to use :=
      instead of = assigment operator.
      At this point there is nothing left to optimize in this
      regard.
    ; I didn't restest parallel build and BISON related rules,
      please do so, I hope they aren't broken. Or in case you
      notice anything strange please shout.

  * config/global.cf
    + Added link to GNU Make NEWS files which describes at which release
      some features were added.

  * config/dos/watcom.cf
  * config/win/watcom.cf
  * config/os2/watcom.cf
    ! Synced special watcom CC_RULEs with recent changes to global CC_RULE.
This commit is contained in:
Viktor Szakats
2009-08-15 09:37:39 +00:00
parent a5efb41af9
commit 6969cc0123
25 changed files with 190 additions and 225 deletions

View File

@@ -17,6 +17,58 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-08-15 11:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
- make_gnu.sh
* config/linux/global.cf
- Deleted. The -fPIC logic is moved to linux/global.cf but it's
incomplete yet, some comments were added there.
* contrib/hbcurl/hbcurl.hbc
+ contrib/hbcurl/hbcurls.hbc
+ Added separate .hbc file for static mode hbcurl lib.
This replaces former HB_CURL_STATIC setting.
* contrib/hbcurl/Makefile
* external/Makefile
* contrib/Makefile
% Minor optimization to DIRS var.
(in few cases it wasn't init to empty with := operator)
+ contrib/hbtip/hbtipssl.hbc
+ contrib/hbtip/hbtipssl
+ contrib/hbtip/hbtipssl/Makefile
* contrib/hbtip/Makefile
+ Now building separate SSL enabled hbtip lib in case HB_HAS_OPENSSL.
+ Added separate .hbc file for SSL enabled hbtip lib, which also
pulls hbssl libs and dependencies.
* config/prg.cf
* config/lib.cf
* config/bin.cf
* config/globsh.cf
* config/dir.cf
* config/c.cf
* config/header.cf
* config/doc.cf
* config/instsh.cf
* config/dirsh.cf
% Optimized remaining (more delicate) logic to use :=
instead of = assigment operator.
At this point there is nothing left to optimize in this
regard.
; I didn't restest parallel build and BISON related rules,
please do so, I hope they aren't broken. Or in case you
notice anything strange please shout.
* config/global.cf
+ Added link to GNU Make NEWS files which describes at which release
some features were added.
* config/dos/watcom.cf
* config/win/watcom.cf
* config/os2/watcom.cf
! Synced special watcom CC_RULEs with recent changes to global CC_RULE.
2009-08-15 00:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
* make_gnu.sh

View File

@@ -74,7 +74,7 @@ endif
BIN_FILE := $(BIN_DIR)/$(BIN_NAME)
ALL_OBJS = $(ALL_C_OBJS) $(ALL_PRG_OBJS)
ALL_OBJS := $(ALL_C_OBJS) $(ALL_PRG_OBJS)
first:: dirbase descend
@@ -85,8 +85,8 @@ vpath $(BIN_NAME) $(BIN_DIR)
$(BIN_NAME) : $(ALL_OBJS)
$(LD_RULE)
INSTALL_FILES = $(BIN_FILE)
INSTALL_DIR = $(HB_BIN_INSTALL)
INSTALL_FILES := $(BIN_FILE)
INSTALL_DIR := $(HB_BIN_INSTALL)
include $(TOP)$(ROOT)config/install.cf

View File

@@ -2,17 +2,17 @@
# $Id$
#
C_OBJS = $(C_SOURCES:.c=$(OBJ_EXT)) $(CPP_SOURCES:.cpp=$(OBJ_EXT))
C_OBJS := $(C_SOURCES:.c=$(OBJ_EXT)) $(CPP_SOURCES:.cpp=$(OBJ_EXT))
C_MAIN_OBJ = $(C_MAIN:.c=$(OBJ_EXT))
C_MAIN_OBJ := $(C_MAIN:.c=$(OBJ_EXT))
ifdef YACC_SOURCE
YACC_BASE = $(YACC_SOURCE:.y=)
YACC_C = $(YACC_BASE)y.c
YACC_H_TMP = $(YACC_C:.c=.h)
YACC_BASE := $(YACC_SOURCE:.y=)
YACC_C := $(YACC_BASE)y.c
YACC_H_TMP := $(YACC_C:.c=.h)
YACC_H := y_tab.h
YACC_OUTPUT = $(YACC_C:.c=.out)
YACC_OBJ = $(YACC_C:.c=$(OBJ_EXT))
YACC_OUTPUT := $(YACC_C:.c=.out)
YACC_OBJ := $(YACC_C:.c=$(OBJ_EXT))
YACC_HB_H := $(foreach h, $(YACC_HEADERS), $(HB_INC_COMPILE)/$(h))
ifneq ($(YACC_DEPEND),)
$(foreach f, $(YACC_DEPEND), $(f:.c=$(OBJ_EXT))) : $(YACC_C)
@@ -20,13 +20,13 @@ ifdef YACC_SOURCE
endif
ifdef LEX_SOURCE
LEX_BASE = $(LEX_SOURCE:.l=)
LEX_C = $(LEX_BASE)l.c
LEX_OBJ = $(LEX_C:.c=$(OBJ_EXT))
LEX_BASE := $(LEX_SOURCE:.l=)
LEX_C := $(LEX_BASE)l.c
LEX_OBJ := $(LEX_C:.c=$(OBJ_EXT))
LEX_HB_H := $(foreach h, $(LEX_HEADERS), $(HB_INC_COMPILE)/$(h))
endif
ALL_C_OBJS = $(YACC_OBJ) $(LEX_OBJ) $(C_OBJS) $(C_MAIN_OBJ)
ALL_C_OBJS := $(YACC_OBJ) $(LEX_OBJ) $(C_OBJS) $(C_MAIN_OBJ)
$(YACC_OBJ) : $(YACC_C)

View File

@@ -30,10 +30,10 @@ ifeq ($(DIR_RULE),)
endef
DIRS_PURE = $(filter-out {%},$(subst {, {,$(DIRS)))
DIRS_DEP = $(filter-out $(DIRS_PURE),$(DIRS))
DIRS_MK = $(foreach d, $(DIRS_PURE), $(if $(wildcard $(d)/Makefile),$(d),))
DIR_RULE = $(foreach dir, $(DIRS_MK), $(dir_mk))
DIRS_PURE := $(filter-out {%},$(subst {, {,$(DIRS)))
DIRS_DEP := $(filter-out $(DIRS_PURE),$(DIRS))
DIRS_MK := $(foreach d, $(DIRS_PURE), $(if $(wildcard $(d)/Makefile),$(d),))
DIR_RULE := $(foreach dir, $(DIRS_MK), $(dir_mk))
MULTI_DEPS := yes
else
@@ -52,8 +52,8 @@ first clean install::
else
DIRS_CLEAN = $(foreach dir, $(DIRS_MK), $(dir).clean)
DIRS_INST = $(foreach dir, $(DIRS_MK), $(dir).inst)
DIRS_CLEAN := $(foreach dir, $(DIRS_MK), $(dir).clean)
DIRS_INST := $(foreach dir, $(DIRS_MK), $(dir).inst)
ifneq ($(_HB_BLD),yes)
first :: $(DIRS_MK)

View File

@@ -3,8 +3,8 @@
#
ifneq ($(HB_SHELL),sh)
MK_OS = $(subst /,\,$(MK))
DIRS_OS = $(subst /,\,$(DIRS))
MK_OS := $(subst /,\,$(MK))
DIRS_OS := $(subst /,\,$(DIRS))
endif
ifeq ($(DIRS),) # Empty directory list
@@ -12,7 +12,7 @@ ifeq ($(DIRS),) # Empty directory list
else
ifeq ($(HB_SHELL),sh)
DIR_RULE = \
DIR_RULE := \
@for d in $(DIRS); do \
if [ -d "$$d" ]; then \
$(MK) $(MKFLAGS) -C $$d $@; \
@@ -21,11 +21,11 @@ ifeq ($(HB_SHELL),sh)
endif
ifeq ($(HB_SHELL),nt)
DIR_RULE = for %%d in ($(DIRS_OS)) do $(MK_OS) $(MKFLAGS) -C %%d $@
DIR_RULE := for %%d in ($(DIRS_OS)) do $(MK_OS) $(MKFLAGS) -C %%d $@
endif
ifeq ($(HB_SHELL),os2)
DIR_RULE = for %d in ($(DIRS_OS)) do $(MK_OS) $(MKFLAGS) -C %d $@
DIR_RULE := for %d in ($(DIRS_OS)) do $(MK_OS) $(MKFLAGS) -C %d $@
endif
ifeq ($(HB_SHELL),dos)
@@ -38,7 +38,7 @@ define dir_mk
endef
DIR_RULE = $(foreach file,$(DIRS_OS),$(dir_mk))
DIR_RULE := $(foreach file,$(DIRS_OS),$(dir_mk))
endif

View File

@@ -13,8 +13,8 @@ ifeq ($(HB_DOC_INSTALL),)
install::
else
INSTALL_FILES = $(DOC_FILES)
INSTALL_DIR = $(HB_DOC_INSTALL)$(DOC_SUBDIR)
INSTALL_FILES := $(DOC_FILES)
INSTALL_DIR := $(HB_DOC_INSTALL)$(DOC_SUBDIR)
include $(TOP)$(ROOT)config/install.cf
endif

View File

@@ -60,7 +60,7 @@ endif
ifeq ($(CC),wcc386)
ifneq ($(HB_HOST_ARCH),linux)
CPPFLAGS := $(subst /,\,$(CPPFLAGS))
CC_RULE = $(CC) $(CPPFLAGS) $(subst /,\,$(CFLAGS)) $(HB_CDBG) $(subst /,\,$(HB_USER_CFLAGS)) $(HB_CUNICODE) $(CC_IN)$(subst /,\,$<) $(CC_OUT)$(<F:.c=$(OBJ_EXT))
CC_RULE = $(CC) $(subst /,\,$(HB_INC_DEPEND)) $(CPPFLAGS) $(subst /,\,$(CFLAGS)) $(HB_CDBG) $(subst /,\,$(HB_USER_CFLAGS)) $(HB_CUNICODE) $(CC_OUT)$(<F:.c=$(OBJ_EXT)) $(CC_IN)$(subst /,\,$<)
endif
endif
@@ -70,7 +70,7 @@ ifeq ($(CC),wcc386)
else
export WPP386 := $(strip $(CPPFLAGS))
endif
CPPFLAGS =
CPPFLAGS :=
# NOTE: The empty line directly before 'endef' HAVE TO exist!
# It causes that every command will be separated by LF

View File

@@ -20,6 +20,9 @@
# http://www.gnu.org/prep/standards/standards.html
# ---------------------------------------------------------------
# GNU Make NEWS:
# http://cvs.savannah.gnu.org/viewvc/make/NEWS?root=make&view=markup
#
# TOFIX: $(realpath/abspath) need GNU Make 3.81 or upper
# TOFIX: $(eval) needs GNU Make 3.80 or upper
# NOTE: $(error/warning/call/if) need GNU Make 3.78 or upper
@@ -345,7 +348,7 @@ endif
# Path separator default
ifeq ($(PTHSEP),)
# small hack, it's hard to detect what is real path separator because
# some shells in DOS/Windows translates DOS style paths to POSIX form
# some shells in MS-DOS/Windows translates MS-DOS style paths to POSIX form
ifeq ($(subst ;,:,$(PATH)),$(PATH))
PTHSEP := :
else
@@ -793,7 +796,7 @@ ifneq ($(HB_HOST_ARCH),dos)
HB_PKGNAME := harbour-$(HB_VERSION)-$(HB_ARCHITECTURE)-$(HB_COMPILER)
HB_PKGNAMI := $(HB_PKGNAME)
else
# Use short names in DOS
# Use short names in MS-DOS
HB_VERSION := 2b2
HB_PKGNAME := hb$(HB_VERSION)
# Ugly solution

View File

@@ -17,6 +17,7 @@ ifneq ($(HB_SHELL),sh)
TOOL_DIR := $(subst /,\,$(TOP)$(ROOT)config/)
# Have to use '=' operator here for rules to work
OBJ_DIR_OS = $(subst /,\,$(OBJ_DIR))
LIB_DIR_OS = $(subst /,\,$(LIB_DIR))
LIB_FILE_OS = $(subst /,\,$(LIB_FILE))

View File

@@ -13,8 +13,8 @@ ifeq ($(HB_INC_INSTALL),)
install::
else
INSTALL_FILES = $(C_HEADERS) $(PRG_HEADERS) $(API_HEADERS)
INSTALL_DIR = $(HB_INC_INSTALL)
INSTALL_FILES := $(C_HEADERS) $(PRG_HEADERS) $(API_HEADERS)
INSTALL_DIR := $(HB_INC_INSTALL)
include $(TOP)$(ROOT)config/install.cf
endif

View File

@@ -10,13 +10,13 @@ ifeq ($(INSTALL_DIR),) # Empty install dir
else
ifneq ($(HB_SHELL),sh)
INSTALL_DIR_OS = $(subst /,\,$(INSTALL_DIR))
INSTALL_FILES_OS = $(subst /,\,$(INSTALL_FILES))
INSTALL_DIR_OS := $(subst /,\,$(INSTALL_DIR))
INSTALL_FILES_OS := $(subst /,\,$(INSTALL_FILES))
endif
ifeq ($(HB_SHELL),sh)
INSTALL_RULE = \
INSTALL_RULE := \
@$(MDP) $(subst \,/,$(INSTALL_DIR)); \
if [ ! -d "$(subst \,/,$(INSTALL_DIR))" ]; \
then \
@@ -45,7 +45,7 @@ ifeq ($(HB_SHELL),nt)
-@for %%f in ($(INSTALL_FILES_OS)) do copy "%%f" "$(INSTALL_DIR_OS)"
endef
INSTALL_RULE = $(inst_file_all)
INSTALL_RULE := $(inst_file_all)
endif
@@ -64,7 +64,7 @@ ifeq ($(HB_SHELL),os2)
endef
INSTALL_RULE = $(foreach file,$(INSTALL_FILES_OS),$(inst_file))
INSTALL_RULE := $(foreach file,$(INSTALL_FILES_OS),$(inst_file))
endif
@@ -83,7 +83,7 @@ ifeq ($(HB_SHELL),dos)
endef
INSTALL_RULE = $(inst_file_all)
INSTALL_RULE := $(inst_file_all)
endif

View File

@@ -17,7 +17,7 @@ LIB_NAME := $(LIB_PREF)$(LIBNAME)$(LIB_EXT)
LIB_FILE := $(LIB_DIR)/$(LIB_NAME)
ALL_OBJS = $(ALL_C_OBJS) $(ALL_PRG_OBJS)
ALL_OBJS := $(ALL_C_OBJS) $(ALL_PRG_OBJS)
first:: dirbase descend
@@ -28,8 +28,8 @@ vpath $(LIB_NAME) $(LIB_DIR)
$(LIB_NAME) : $(ALL_OBJS)
$(AR_RULE)
INSTALL_FILES = $(LIB_FILE)
INSTALL_DIR = $(HB_LIB_INSTALL)
INSTALL_FILES := $(LIB_FILE)
INSTALL_DIR := $(HB_LIB_INSTALL)
include $(TOP)$(ROOT)config/install.cf

View File

@@ -12,7 +12,8 @@ ifeq ($(HB_SHELL),sh)
ifneq ($(HB_COMPILER),sunpro)
ifeq ($(findstring -fPIC,$(HB_USER_CFLAGS)),)
_UNAME_M := $(shell uname -m)
# TODO: Make this complete
# TODO: Make this complete:
# || ( $( "*[ix]*86" ) && $( "*[ix]*86[^0-9]*" ) )
ifneq ($(findstring $(_UNAME_M),@64 _64),)
HB_USER_CFLAGS += -fPIC
endif

View File

@@ -62,7 +62,7 @@ endif
ifeq ($(CC),wcc386)
ifneq ($(HB_HOST_ARCH),linux)
CPPFLAGS := $(subst /,\,$(CPPFLAGS))
CC_RULE = $(CC) $(CPPFLAGS) $(subst /,\,$(CFLAGS)) $(HB_CDBG) $(subst /,\,$(HB_USER_CFLAGS)) $(HB_CUNICODE) $(CC_IN)$(subst /,\,$<) $(CC_OUT)$(<F:.c=$(OBJ_EXT))
CC_RULE = $(CC) $(subst /,\,$(HB_INC_DEPEND)) $(CPPFLAGS) $(subst /,\,$(CFLAGS)) $(HB_CDBG) $(subst /,\,$(HB_USER_CFLAGS)) $(HB_CUNICODE) $(CC_OUT)$(<F:.c=$(OBJ_EXT)) $(CC_IN)$(subst /,\,$<)
endif
endif

View File

@@ -2,13 +2,13 @@
# $Id$
#
PRG_C_SOURCES = $(PRG_SOURCES:.prg=.c)
PRG_OBJS = $(PRG_SOURCES:.prg=$(OBJ_EXT))
PRG_EXES = $(PRG_SOURCES:.prg=$(BIN_EXT))
PRG_C_SOURCES := $(PRG_SOURCES:.prg=.c)
PRG_OBJS := $(PRG_SOURCES:.prg=$(OBJ_EXT))
PRG_EXES := $(PRG_SOURCES:.prg=$(BIN_EXT))
PRG_MAIN_OBJ = $(PRG_MAIN:.prg=$(OBJ_EXT))
PRG_MAIN_OBJ := $(PRG_MAIN:.prg=$(OBJ_EXT))
ALL_PRG_OBJS = $(PRG_OBJS) $(PRG_MAIN_OBJ)
ALL_PRG_OBJS := $(PRG_OBJS) $(PRG_MAIN_OBJ)
$(PRG_OBJS) : %$(OBJ_EXT) : %.c

View File

@@ -64,7 +64,7 @@ endif
ifeq ($(CC),wcc386)
ifneq ($(HB_HOST_ARCH),linux)
CPPFLAGS := $(subst /,\,$(CPPFLAGS))
CC_RULE = $(CC) $(CPPFLAGS) $(subst /,\,$(CFLAGS)) $(HB_CDBG) $(subst /,\,$(HB_USER_CFLAGS)) $(HB_CUNICODE) $(CC_IN)$(subst /,\,$<) $(CC_OUT)$(<F:.c=$(OBJ_EXT))
CC_RULE = $(CC) $(subst /,\,$(HB_INC_DEPEND)) $(CPPFLAGS) $(subst /,\,$(CFLAGS)) $(HB_CDBG) $(subst /,\,$(HB_USER_CFLAGS)) $(HB_CUNICODE) $(CC_OUT)$(<F:.c=$(OBJ_EXT)) $(CC_IN)$(subst /,\,$<)
endif
endif

View File

@@ -53,6 +53,8 @@ else
ifneq ($(HB_CONTRIBLIBS),no)
DIRS := $(HB_CONTRIBLIBS)
else
DIRS :=
endif
endif

View File

@@ -40,6 +40,7 @@ include $(TOP)$(ROOT)config/lib.cf
install::
$(INSTALL_RULE_HEADERS)
DIRS :=
ifeq ($(HB_ARCHITECTURE),win)
DIRS += hbcurls
endif

View File

@@ -4,11 +4,6 @@
incpaths=.
# NOTE: HB_CURL_STATIC mode requires additional libs be linked:
# libssh2 and OpenSSL
{!HB_CURL_STATIC}libs=hbcurl
{ HB_CURL_STATIC}libs=hbcurls
libs=hbcurl
{!mingw}libs=libcurl
{mingw&!HB_CURL_STATIC}libs=curldll
{mingw& HB_CURL_STATIC}libs=curl
{mingw}libs=curldll

View File

@@ -0,0 +1,12 @@
#
# $Id$
#
incpaths=.
libs=hbcurls
{!mingw}libs=libcurl
{mingw}libs=curl
# NOTE: Static mode requires additional libs be linked:
# libssh2 and OpenSSL

View File

@@ -8,11 +8,6 @@ include $(TOP)$(ROOT)config/global.cf
LIBNAME := hbtip
ifeq ($(HB_HAS_OPENSSL),yes)
HB_USER_PRGFLAGS += -DHB_HAS_OPENSSL
HB_INC_DEPEND := -I$(TOP)$(ROOT)contrib/hbssl
endif
ifneq ($(HB_ARCHITECTURE),dos)
C_SOURCES := \
@@ -46,6 +41,15 @@ include $(TOP)$(ROOT)config/header.cf
INSTALL_RULE_HEADERS := $(INSTALL_RULE)
include $(TOP)$(ROOT)config/lib.cf
DIRS :=
ifeq ($(HB_HAS_OPENSSL),yes)
DIRS += hbtipssl
endif
ifneq ($(DIRS),)
include $(TOP)$(ROOT)config/dir.cf
endif
install::
$(INSTALL_RULE_HEADERS)

View File

@@ -0,0 +1,10 @@
#
# $Id$
#
{dos}skip=yes
incpaths=.
libs=hbtips
libs=../hbssl/hbssl.hbc

View File

@@ -0,0 +1,44 @@
#
# $Id$
#
vpath %.c ../
vpath %.prg ../
ROOT := ../../../
LIBNAME := hbtipssl
ifeq ($(HB_HAS_OPENSSL),yes)
HB_USER_PRGFLAGS += -DHB_HAS_OPENSSL
HB_INC_DEPEND := -I$(TOP)$(ROOT)contrib/hbssl
C_SOURCES := \
encmthd.c \
utils.c \
PRG_SOURCES := \
cgi.prg \
client.prg \
credent.prg \
encb64.prg \
encoder.prg \
encqp.prg \
encurl.prg \
ftpcli.prg \
httpcli.prg \
log.prg \
mail.prg \
popcli.prg \
sendmail.prg \
sessid.prg \
smtpcli.prg \
thtml.prg \
url.prg \
include $(TOP)$(ROOT)config/lib.cf
else
include $(TOP)$(ROOT)config/none.cf
endif

View File

@@ -16,6 +16,8 @@ else
ifneq ($(HB_EXTERNALLIBS),no)
DIRS := $(HB_EXTERNALLIBS)
else
DIRS :=
endif
endif

View File

@@ -1,162 +0,0 @@
#!/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.
# ---------------------------------------------------------------
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 [ -z "$HB_GPM_MOUSE" ]; then
if [ "$HB_ARCHITECTURE" = "linux" ] && \
( [ -f /usr/include/gpm.h ] || [ -f /usr/local/include/gpm.h ]); then
HB_GPM_MOUSE=yes
else
HB_GPM_MOUSE=no
fi
export HB_GPM_MOUSE
fi
if [ "$HB_ARCHITECTURE" = "linux" ] && \
[ "$HB_COMPILER" != "sunpro" ]
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"
;;
*[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
# ---------------------------------------------------------------
# Start the GNU make system
case "$HB_ARCHITECTURE" in
bsd|hpux|sunos)
gmake $*
;;
*)
make $*
;;
esac
if [ "$*" = "clean" ]; then
find . -type d -name "$HB_ARCHITECTURE" | xargs rmdir 2> /dev/null
fi
fi