* common.mak
* harbour-wce-spec
* harbour-win-spec
* harbour.spec
* make_b32.bat
* make_b32.mak
* make_gcc.mak
* make_gcc.sh
* make_gnu.bat
* make_gnu.sh
* make_gnu_os2.cmd
* make_gnu_xmingw.sh
* make_gnu_xmingwce.sh
* make_vc.bat
* make_vc.mak
* mpkg_tgz.sh
* bin/hb-func.sh
* bin/hb-mkslib.sh
* bin/hbmk.bat
* bin/hbmk_os2.cmd
* bin/postinst.sh
* config/bin.cf
* config/bsd/gcc.cf
* config/darwin/gcc.cf
* config/dos/bcc16.cf
* config/dos/djgpp.cf
* config/dos/owatcom.cf
* config/dos/rsx32.cf
* config/hpux/gcc.cf
* config/lib.cf
* config/linux/gcc.cf
* config/linux/owatcom.cf
* config/os2/gcc.cf
* config/os2/icc.cf
* config/rules.cf
* config/sunos/gcc.cf
* config/win/bcc32.cf
* config/win/dm.cf
* config/win/gcc.cf
* config/win/icc.cf
* config/win/mingw.cf
* config/win/mingwce.cf
* config/win/msvc.cf
* config/win/msvcce.cf
* config/win/owatcom.cf
* config/win/pocc.cf
* config/win/pocc64.cf
* config/win/poccce.cf
* config/win/rsxnt.cf
* config/win/xcc.cf
* contrib/gtalleg/Makefile
* contrib/hbapollo/Makefile
* contrib/hbcurl/Makefile
* contrib/hbfbird/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbgd/tests/hbmk_b32.bat
* contrib/hbgd/tests/hbmk_vc.bat
* contrib/hbgf/hbgfgtk/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbmysql/Makefile
* contrib/hbodbc/Makefile
* contrib/hbpgsql/Makefile
* contrib/hbssl/Makefile
* contrib/hbtip/ChangeLog
* contrib/hbwhat/Makefile
* contrib/hbwhat/tests/hbmk_b32.bat
* contrib/hbwhat/tests/hbmk_vc.bat
* contrib/mtpl_b32.bat
* contrib/mtpl_b32.mak
* contrib/mtpl_gcc.mak
* contrib/mtpl_gcc.sh
* contrib/mtpl_vc.bat
* contrib/mtpl_vc.mak
* contrib/rddads/Makefile
* contrib/rddsql/sddfb/Makefile
* contrib/rddsql/sddmy/Makefile
* contrib/rddsql/sddpg/Makefile
* doc/es/tracing.txt
* doc/gmake.txt
* doc/tracing.txt
* include/hbapi.h
* source/main/harbour.c
* source/pp/hbpp.c
* source/rdd/dbffpt/Makefile
* source/vm/cmdarg.c
* source/vm/Makefile
* source/vm/vmmt/Makefile
* tests/multifnc/Makefile
* tests/testid.prg
* utils/hbdoc/Makefile
* utils/hbi18n/Makefile
* utils/hbmake/hbmake.prg
* utils/hbmake/Makefile
* utils/hbrun/Makefile
* utils/hbtest/Makefile
* Renamed remaining build configration envvars:
- PRG_USR -> HB_USER_PRGFLAGS
- C_USR -> HB_USER_CFLAGS
- L_USR -> HB_USER_LDFLAGS
- A_USR -> HB_USER_AFLAGS
- MK_USR -> HB_USER_MAKEFLAGS
(finally settled with HB_USER* instead of HB_USR*,
this also means that HB_USER_LIBS was kept unchanged.)
; Please update your environment.
You may use these commands to make it easy:
gsar -o -sPRG_USR -rHB_USER_PRGFLAGS *
gsar -o -sC_USR -rHB_USER_CFLAGS *
gsar -o -sL_USR -rHB_USER_LDFLAGS *
gsar -o -sA_USR -rHB_USER_AFLAGS *
gsar -o -sMK_USR -rHB_USER_MAKEFLAGS *
101 lines
2.4 KiB
CFEngine3
101 lines
2.4 KiB
CFEngine3
#
|
|
# $Id$
|
|
#
|
|
|
|
include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/global.cf
|
|
|
|
OBJ_EXT = .o
|
|
EXE_EXT = .exe
|
|
LIB_PREF =
|
|
LIB_EXT = .a
|
|
|
|
CC = gcc
|
|
CC_IN = -c
|
|
CC_OUT = -o
|
|
CPPFLAGS = -I. -I$(HB_INC_COMPILE)
|
|
CFLAGS = -Wall -W -O3
|
|
|
|
LD = gcc
|
|
LDFLAGS =
|
|
# NOTE: The ending space after -o is important, please preserve it.
|
|
# Now solved with '$(subst x,x, )' expression.
|
|
LD_OUT = -o$(subst x,x, )
|
|
|
|
ifeq ($(C_MAIN),)
|
|
ifeq ($(HB_GT_LIB),os2pm)
|
|
# If building a PM program, override the main object.
|
|
LDFLAGS +=$(TOP)$(ROOT)source/vm/$(HB_ARCH)/mainpm.o
|
|
endif
|
|
endif
|
|
|
|
# Add all libraries specified in CONTRIBS and LIBS.
|
|
ifeq ($(HB_LIB_COMPILE),)
|
|
LINKPATHS += -L$(LIB_DIR)
|
|
else
|
|
LINKPATHS += -L$(HB_LIB_COMPILE)
|
|
endif
|
|
#LINKLIBS += -Wl,-(
|
|
LINKLIBS += $(foreach lib, $(CONTRIBS), -l$(subst lib,,$(lib)))
|
|
LINKLIBS += $(foreach lib, $(LIBS), -l$(lib))
|
|
|
|
# If LIBS specifies the rdd library, add all DB drivers.
|
|
ifeq ($(findstring rdd,$(LIBS)),rdd)
|
|
LINKLIBS += $(foreach drv, $(HB_DB_DRIVERS), -l$(drv))
|
|
endif
|
|
|
|
# Add the specified GT driver library
|
|
ifeq ($(findstring rtl,$(LIBS)),rtl)
|
|
ifeq ($(C_MAIN),)
|
|
ifeq ($(findstring os2pm,$(HB_GT_LIB)),os2pm)
|
|
# Special handling for PM mode
|
|
LINKLIBS += -l$(HB_GT_LIB)
|
|
LINKLIBS += -lgtos2
|
|
else
|
|
|
|
LINKLIBS += $(foreach gt, $(HB_GT_LIBS), -l$(gt)) -lhbrtl
|
|
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
# add socket library
|
|
LINKLIBS += -lsocket
|
|
|
|
#LINKLIBS += -Wl,-)
|
|
# statical linking with GCC 3.2.2 libc as not require its presence on user system
|
|
LDFLAGS += $(LINKPATHS)
|
|
|
|
ifeq ($(C_MAIN),)
|
|
ifeq ($(HB_GT_LIB),os2pm)
|
|
# Override the default link rule in order to add a call to emxbind
|
|
LD_RULE = $(LD) $(CFLAGS) $(LD_OUT)$@ $(^F) $(LDFLAGS) $(HB_USER_LDFLAGS) $(LINKLIBS) & emxbind -ep $@
|
|
endif
|
|
endif
|
|
|
|
# Note: The empty line directly before 'endef' HAVE TO exist!
|
|
# It causes that every echo command will be separated by LF
|
|
#define lib_object
|
|
#echo ADDMOD $(file) >> __lib__.tmp
|
|
#
|
|
#endef
|
|
|
|
# We have to use a script to overcome the AR limit of max 850 characters
|
|
# in commmand line
|
|
define create_library
|
|
IF EXIST $(OS2_LIB_ARCH) $(RM) $(OS2_LIB_ARCH)
|
|
echo CREATE $(LIB_DIR)/$@ > __lib__.tmp
|
|
for %i in ( *$(OBJ_EXT) ) do @echo ADDMOD %i >> __lib__.tmp
|
|
echo SAVE >> __lib__.tmp
|
|
echo END >> __lib__.tmp
|
|
$(AR) -M < __lib__.tmp
|
|
endef
|
|
|
|
|
|
# Under OS/2 || isn't a command separator (inside a shell, that is); correct separator is &
|
|
AR = ar
|
|
ARFLAGS = $(HB_USER_AFLAGS)
|
|
AR_RULE = $(create_library) & $(RM) __lib__.tmp
|
|
|
|
include $(TOP)$(ROOT)config/rules.cf
|
|
|