# # $Id$ # include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/global.cf OBJ_EXT = .o EXE_EXT = LIB_PREF = lib LIB_EXT = .a # intentionally used 'cc' instead of 'gcc' - I'm not an Darwin user # but the system where I was testing it has GCC 2.95 named 'cc' CC = $(CCACHE) cc CC_IN = -c CC_OUT = -o # -no-cpp-precomp prevents from using buggy precompiled headers CPPFLAGS = -no-cpp-precomp -I. -I$(TOP)include -I$(HB_INC_COMPILE) # -fno-common enables building .dylib files CFLAGS = -fno-common -fsigned-char -Wall -W # It's to avoid warning message generated when 'long double' is used # remove it if you have newer compiler version CFLAGS += -Wno-long-double ifeq ($(HB_LEX),SIMPLEX) CFLAGS += -DSIMPLEX endif CFLAGS += -DHB_OS_DARWIN LD = cc LD_OUT = -o # Add all libraries specified in HB_USER_LIBS. LINKPATHS += $(foreach lib, $(HB_USER_LIBS), -L$(TOP)$(ROOT)source/$(lib)/$(HB_ARCH)) LINKLIBS += $(foreach lib, $(HB_USER_LIBS), -l$(lib)) # Add all libraries specified in CONTRIBS and LIBS. ifeq ($(HB_LIB_COMPILE),) LINKPATHS += $(foreach lib, $(CONTRIBS), -L$(TOP)$(ROOT)contrib/$(lib)/$(HB_ARCH)) LINKPATHS += $(foreach lib, $(LIBS), -L$(TOP)$(ROOT)source/$(lib)/$(HB_ARCH)) else LINKPATHS += -L$(HB_LIB_COMPILE) endif LINKLIBS += $(foreach lib, $(CONTRIBS), -l$(lib)) LINKLIBS += $(foreach lib, $(LIBS), -l$(lib)) # If LIBS specifies the rdd library, add all DB drivers. ifeq ($(findstring rdd,$(LIBS)),rdd) LINKPATHS += $(foreach drv, $(HB_DB_DRIVERS), -L$(TOP)$(ROOT)source/rdd/$(drv)/$(HB_ARCH)) LINKLIBS += $(foreach drv, $(HB_DB_DRIVERS), -l$(drv)) endif # Add the specified GT driver library ifeq ($(findstring rtl,$(LIBS)),rtl) LINKPATHS += -L$(TOP)$(ROOT)source/rtl/$(HB_GT_LIB)/$(HB_ARCH) LINKLIBS += -l$(HB_GT_LIB) # HB_SCREEN_LIB: empty, or one of ncurses, slang ifeq ($(HB_GT_LIB),gtcrs) HB_SCREEN_LIB:=ncurses else ifeq ($(HB_GT_LIB),gtsln) HB_SCREEN_LIB:=slang endif endif ifneq ($(HB_SCREEN_LIB),) LINKLIBS += -l$(HB_SCREEN_LIB) endif # In BSD, slang still needs curses :( ifeq ($(HB_GT_LIB),gtsln) LINKLIBS += -lncurses endif ifeq ($(HB_GT_LIB),gtxvt) LINKLIBS += -lX11 LINKPATHS +=-L/usr/X11R6/lib else ifeq ($(HB_GT_LIB),gtxwc) LINKLIBS += -lX11 LINKPATHS +=-L/usr/X11R6/lib endif endif # HB_GPM_MOUSE: use gpm mouse driver # Actually, there is no gpm on BSD. ifeq ($(HB_GPM_MOUSE),yes) LINKLIBS += -lgpm endif endif LINKLIBS += -lm LDFLAGS = $(LINKPATHS) LD_RULE = $(LD) $(CFLAGS) $(LD_OUT) $@ $^ $(LDFLAGS) $(L_USR) $(LINKLIBS) $(LINKLIBS) #AR = ar #ARFLAGS = $(A_USR) #AR_RULE = $(AR) $(ARFLAGS) r $@ $^ || $(RM) $@ LIBTOOL = libtool LIBTOOLFLAGS = $(LIBTOOL_USR) AR_RULE = $(LIBTOOL) -static $(LIBTOOLFLAGS) -o $@ $^ || $(RM) $@ RANLIB = ranlib include $(TOP)$(ROOT)config/rules.cf