c:\harbour\config\os2\dir.cf |
# # $Id: dir.cf 8286 2008-02-07 19:17:55Z druzus $ # ifeq ($(PM),) # Only traverse directories if not compiling a specific module ifeq ($(SHLVL),) # An OS/2 command shell ifeq ($(DIRS),) # Empty directory list DIR_RULE =\ @echo Done else DIR_MAKE = $(subst /,\,$(MK)) DIR_LIST = $(subst /,\,$(DIRS)) DIR_RULE = CMD.EXE /C FOR %d IN ($(DIR_LIST)) DO $(DIR_MAKE) -C %d $@ endif else # bash DIR_RULE =\ @for d in $(DIRS); do \ if [ -d $$d ]; then \ $(MAKE) -C $$d $@; \ fi \ done endif # ! Windows endif # ! compiling a specific program module |
c:\harbour\config\os2\gcc.cf |
# # $Id: gcc.cf 9519 2008-09-29 16:50:43Z druzus $ # 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) $(L_USR) $(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 $(foreach file, $(^F), $(lib_object)) 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 = $(A_USR) AR_RULE = $(create_library) & $(RM) __lib__.tmp include $(TOP)$(ROOT)config/rules.cf |
c:\harbour\config\os2\global.cf |
# # $Id: global.cf 9484 2008-09-23 22:24:26Z vszakats $ # all : first HB_GT_LIST=\ gtcgi \ gtos2 \ gtpca \ gtstd \ # verify if GT drivers exist #HB_GT_LIBS := $(foreach gt, $(HB_GT_LIST), $(if $(wildcard $(TOP)$(ROOT)source/rtl/$(gt)),$(gt),)) # temporary workaround for some possible problems with some GNU make versions HB_GT_LIBS := $(HB_GT_LIST) ifeq ($(SHLVL),) # An OS/2 command shell ARCH_DIR = $(HB_ARCH) OS2_ARCH_DIR = $(subst /,\,$(HB_ARCH)) OS2_LIB_DIR = $(subst /,\,$(LIB_DIR)) OS2_LIB_PATH = $(subst /,\,$(LIB_PATH)) OS2_LIB_ARCH = $(subst /,\\,$(LIB_ARCH)) DIRSEP = $(subst /,\,\) MK = $(subst /,\,$(subst \~,~,$(MAKE))) ifeq ($(OS2_SHELL),) # Not running on OS/2 (which comes in handy for 'make -r clean') RM = del /q else # Running on OS/2 RM = del /n endif RD = rmdir CP = copy MV = move MD = md ifeq ($(LIB_PATH),) dirbase:: -CMD.EXE /C FOR %d IN ($(HB_ARCHITECTURE) $(OS2_ARCH_DIR)) DO IF NOT EXIST %d $(MD) %d clean:: -CMD.EXE /C IF EXIST $(OS2_ARCH_DIR)\*.* $(RM) $(OS2_ARCH_DIR)\\*.* -CMD.EXE /C FOR %d IN ($(OS2_ARCH_DIR) $(HB_ARCHITECTURE)) DO IF EXIST %d $(RD) %d else dirbase:: -CMD.EXE /C FOR %d IN ($(HB_ARCHITECTURE) $(OS2_ARCH_DIR) $(OS2_LIB_PATH) $(OS2_LIB_DIR)) DO IF NOT EXIST %d $(MD) %d clean:: -CMD.EXE /C IF EXIST $(OS2_ARCH_DIR)\*.* $(RM) $(OS2_ARCH_DIR)\\*.* -CMD.EXE /C FOR %d IN ($(OS2_ARCH_DIR) $(HB_ARCHITECTURE)) DO IF EXIST %d $(RD) %d -CMD.EXE /C IF EXIST $(OS2_LIB_ARCH) $(RM) $(OS2_LIB_ARCH) 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 OS2_LIB_ARCH = $(LIB_ARCH) dirbase:: @[ -d $(ARCH_DIR) ] || $(MDP) $(ARCH_DIR) @[ -z $(LIB_DIR) ] || [ -d $(LIB_DIR) ] || $(MDP) $(LIB_DIR) clean:: -$(RD) $(ARCH_DIR) $(LIB_ARCH) endif |
c:\harbour\config\os2\icc.cf |
# # $Id: icc.cf 8262 2008-01-31 17:44:30Z rglab $ # include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/global.cf OBJ_EXT = .obj EXE_EXT = .exe LIB_PREF = LIB_EXT = .lib CC = icc CC_IN = /C+ /Tp CC_OUT = /Fo CPPFLAGS = /I$(GRANDP) /I$(HB_INC_COMPILE) #CFLAGS = /Gs+ /W2 /Se /Sd+ /Ti+ CFLAGS = /Gs+ /W2 /Se /Sd+ -DHB_LONG_LONG_OFF LD = icc LD_OUT = /Fe LDFLAGS = /C- /B"/NOIgnoreCase" ifeq ($(HB_MAIN),) else ifeq ($(C_MAIN),) ifeq ($(HB_GT_LIB),os2pm) LDFLAGS +=/B"/PMtype:PM" $(TOP)$(ROOT)source/vm/$(HB_ARCH)/mainpm.obj else LDFLAGS += $(TOP)$(ROOT)source/vm/$(HB_ARCH)/mainstd.obj endif endif endif ifeq ($(HB_LIB_COMPILE),) LINKLIBS = $(foreach lib, $(CONTRIBS), $(LIB_DIR)/$(lib)$(LIB_EXT)) LINKLIBS += $(foreach lib, $(LIBS), $(LIB_DIR)/$(lib)$(LIB_EXT)) # If LIBS specifies the rdd library, add all DB drivers. ifeq ($(findstring rdd,$(LIBS)),rdd) LINKLIBS += $(foreach lib, $(HB_DB_DRIVERS), $(LIB_DIR)/$(lib)$(LIB_EXT)) endif else LINKLIBS = $(foreach lib, $(LIBS), $(lib)$(LIB_EXT)) # If LIBS specifies the rdd library, add all DB drivers. ifeq ($(findstring rdd,$(LIBS)),rdd) LINKLIBS += $(foreach lib, $(HB_DB_DRIVERS), $(lib)$(LIB_EXT)) endif endif # Add the specified GT driver library ifeq ($(C_MAIN),) ifeq ($(findstring rtl,$(LIBS)),rtl) ifeq ($(HB_GT_LIB),hbgfos2pm) # Special handling for PM mode LINKLIBS += $(LIB_DIR)/hbgfos2pm.lib LINKLIBS += $(LIB_DIR)/gtos2.lib else ifeq ($(HB_LIB_COMPILE),) LINKLIBS += $(foreach gt, $(HB_GT_LIBS), $(LIB_DIR)/$(gt)$(LIB_EXT)) else LINKLIBS += $(foreach gt, $(HB_GT_LIBS), $(gt)$(LIB_EXT)) endif endif endif endif # HB_SCREEN_LIB: empty, or one of ncurses, slang # HB_SCREEN_LIB=ncurses # HB_SCREEN_LIB=slang ifneq ($(HB_SCREEN_LIB),) LINKLIBS += $(HB_SCREEN_LIB) endif AR = ilib ARFLAGS = /NOE /NOIgnoreCase $(A_USR) AROBJS = $(foreach file, $(^F), -+$(file)) AR_RULE = $(AR) $(ARFLAGS) $(LIB_DIR)/$@ $(AROBJS),, include $(TOP)$(ROOT)config/rules.cf |
c:\harbour\config\os2\install.cf |
# # $Id: install.cf 9191 2008-08-19 13:11:22Z vszakats $ # ifeq ($(SHLVL),) # An OS/2 command shell define inst_file ECHO $(CP) $(file) $(INSTALL_OS2_DIR) >> _nstall.cmd endef INSTALL_LIST = $(subst /,\,$(INSTALL_OBJS)) INSTALL_OS2_DIR = $(subst /,\,$(INSTALL_DIR)) INSTALL_RULE = $(foreach file, $(INSTALL_LIST), $(inst_file)) \ $(COMSPEC) /c _nstall.cmd & $(RM) _nstall.cmd else # bash INSTALL_RULE =\ @if [ ! -d $(INSTALL_DIR) ]; \ then \ echo "! Can't install, path not found: $(INSTALL_DIR)" 1>&2; \ else \ for i in $(INSTALL_OBJS); \ do \ if [ -r $$i ]; \ then \ echo "! Installing $$i on $(INSTALL_DIR)"; \ $(CP) $$i $(INSTALL_DIR); \ else \ echo "! Can't install $$i, not found" 1>&2; \ fi \ done \ fi endif |