* INSTALL
+ Added Linux build on NT host example.
* utils/hbmk2/hbmk2.prg
+ Added support for most watcom cross-compile situations.
(os2/linux/dos on win, os2/linux/win on dos, dos/win/linux on os2,
dos/win/os2 on linux - I didn't test them all obviously)
! Some fixes regarding Linux targets on non-Linux hosts cross
build situations. This is brand new situation.
! Synced watcom/os2 flags with build ones to avoid hbmk2 build errors
on os2.
! Fixed linux/watcom object extension, which appears to be .obj
when using non-Linux hosts.
* make_gnu.bat
* Linux cross-build support.
! Fixed to find make_gnu.sh when doing partial builds using
bash on Windows.
* config/win/global.cf
* config/win/install.cf
* config/linux/dir.cf
* config/linux/global.cf
* config/linux/install.cf
* config/os2/global.cf
* config/os2/install.cf
* config/wce/global.cf
* config/wce/install.cf
+ install bash section synced across linux/windosos2 platforms.
+ empty target handling synced across linux/windosos2 platforms.
+ Added support to linux build files for cross builds on
Windows and OS/2 hosts.
; TODO: Whole install/global/dir.cf logic is just crying to be moved
to central location and be branched by host platform/shell
rather than target platform.
; Please check me on the linux changes, could be that I messed it up.
* source/rtl/Makefile
+ Enabled to try building all GTs on every platform.
Local autodetection should take care of the decision to finally
build it or not.
* source/rtl/gtxwc/Makefile
* source/rtl/gtcrs/Makefile
* source/rtl/gttrm/Makefile
* source/rtl/gtsln/Makefile
+ Added self-detection for external headers just like it's done
in contribs. This is required to support Linux cross-builds on
Windows. (djgpp + curses ends with build errors)
+ Added GPM autodetection.
+ Enabled gttrm for cygwin. (only in local make file)
; TOFIX: Remove such detection logic from make_gnu.sh (it's
now redundant and doesn't work for djgpp/cygwin)
* source/rtl/gtwin/gtwin.c
* source/rtl/hbgtcore.c
* contrib/xhb/txml.prg
* Minor formatting.
114 lines
2.2 KiB
CFEngine3
114 lines
2.2 KiB
CFEngine3
#
|
|
# $Id$
|
|
#
|
|
|
|
all : first
|
|
|
|
HB_GT_LIST=\
|
|
gtcgi \
|
|
gtpca \
|
|
gtstd \
|
|
gttrm \
|
|
|
|
ifneq ($(HB_WITHOUT_GTCRS),yes)
|
|
HB_GT_LIST += gtcrs
|
|
endif
|
|
ifeq ($(HB_COMMERCE),yes)
|
|
HB_GPM_MOUSE = no
|
|
else
|
|
ifneq ($(HB_WITHOUT_GTSLN),yes)
|
|
HB_GT_LIST += gtsln
|
|
endif
|
|
endif
|
|
ifneq ($(HB_WITHOUT_X11),yes)
|
|
HB_GT_LIST += gtxwc
|
|
endif
|
|
|
|
# verify if GT drivers exist
|
|
HB_GT_LIBS := $(foreach gt, $(HB_GT_LIST), $(if $(wildcard $(TOP)$(ROOT)source/rtl/$(gt)),$(gt),))
|
|
|
|
ifeq ($(SHLVL),) # non-bash
|
|
|
|
ARCH_DIR = $(HB_ARCH)
|
|
DOS_ARCH_DIR = $(subst /,\,$(HB_ARCH))
|
|
DOS_LIB_DIR = $(subst /,\,$(LIB_DIR))
|
|
DOS_LIB_PATH = $(subst /,\,$(LIB_PATH))
|
|
DOS_LIB_ARCH = $(subst /,\,$(LIB_ARCH))
|
|
DIRSEP = $(subst /,\,\)
|
|
|
|
MK = $(subst /,\,$(subst \~,~,$(MAKE)))
|
|
|
|
ifeq ($(OS2_SHELL),) # non-OS/2
|
|
ifneq ($(ComSpec),)
|
|
COMSPEC := $(ComSpec)
|
|
else
|
|
ifeq ($(COMSPEC),)
|
|
COMSPEC := cmd.exe
|
|
endif
|
|
endif
|
|
|
|
RM = del /q /f
|
|
RD = rmdir /q /s
|
|
MD = mkdir
|
|
CP = $(COMSPEC) /c copy
|
|
MV = move
|
|
|
|
dirbase::
|
|
-@$(COMSPEC) /c if not exist $(DOS_ARCH_DIR)\. $(MD) $(DOS_ARCH_DIR)
|
|
$(if $(DOS_LIB_DIR),-@$(COMSPEC) /c if not exist $(DOS_LIB_DIR)\. $(MD) $(DOS_LIB_DIR),)
|
|
|
|
clean::
|
|
-@$(COMSPEC) /c if exist $(DOS_ARCH_DIR) $(RD) $(DOS_ARCH_DIR)
|
|
$(if $(DOS_LIB_ARCH),-@$(COMSPEC) /c if exist $(DOS_LIB_ARCH) $(RM) $(DOS_LIB_ARCH),)
|
|
|
|
else # OS/2
|
|
RM = del /n
|
|
RD = rmdir
|
|
MD = md
|
|
CP = copy
|
|
MV = move
|
|
|
|
ifeq ($(LIB_PATH),)
|
|
|
|
dirbase::
|
|
-for %d in ($(HB_ARCHITECTURE) $(DOS_ARCH_DIR)) do if not exist %d $(MD) %d
|
|
|
|
clean::
|
|
-if exist $(DOS_ARCH_DIR)\*.* $(RM) $(DOS_ARCH_DIR)\*.*
|
|
-for %d in ($(DOS_ARCH_DIR) $(HB_ARCHITECTURE)) do if exist %d $(RD) %d
|
|
|
|
else
|
|
|
|
dirbase::
|
|
-for %d in ($(HB_ARCHITECTURE) $(DOS_ARCH_DIR) $(DOS_LIB_PATH) $(DOS_LIB_DIR)) do if not exist %d $(MD) %d
|
|
|
|
clean::
|
|
-if exist $(DOS_ARCH_DIR)\*.* $(RM) $(DOS_ARCH_DIR)\*.*
|
|
-for %d in ($(DOS_ARCH_DIR) $(HB_ARCHITECTURE)) do if exist %d $(RD) %d
|
|
-if exist $(DOS_LIB_ARCH) $(RM) $(DOS_LIB_ARCH)
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
else # bash
|
|
|
|
ARCH_DIR = $(HB_ARCH)
|
|
MK = $(MAKE)
|
|
RM = rm -f
|
|
RD = rm -f -r
|
|
CP = cp -f
|
|
MV = mv -f
|
|
MD = mkdir
|
|
MDP = mkdir -p
|
|
RANLIB = ranlib
|
|
|
|
dirbase::
|
|
@[ -d $(ARCH_DIR) ] || $(MDP) $(ARCH_DIR)
|
|
@[ -z $(LIB_DIR) ] || [ -d $(LIB_DIR) ] || $(MDP) $(LIB_DIR)
|
|
|
|
clean::
|
|
-$(RD) $(ARCH_DIR) $(LIB_ARCH)
|
|
|
|
endif
|