config

  Previous topic Next topic JavaScript is required for the print function Mail us feedback on this topic! Mail us feedback on this topic!  
c:\harbour\config
c:\harbour\config\bin.cf
#
# $Id: bin.cf 8279 2008-02-04 08:32:17Z druzus $
#

ifneq ($(HB_ARCHITECTURE),)
ifneq ($(HB_COMPILER),)

include $(TOP)$(ROOT)config/global.cf
include $(TOP)$(ROOT)config/c.cf
include $(TOP)$(ROOT)config/prg.cf

EXE_NAME=

ifneq ($(C_MAIN),)
ifeq ($(EXE_NAME),)
EXE_NAME = $(C_MAIN:.c=$(EXE_EXT))
endif
endif

ifneq ($(PRG_MAIN),)
ifeq ($(EXE_NAME),)
EXE_NAME = $(PRG_MAIN:.prg=$(EXE_EXT))
endif
endif

EXE_ARCH = $(ARCH_DIR)/$(EXE_NAME)
LIB_DIR = $(TOP)$(ROOT)lib/$(ARCH_DIR)

ALL_OBJS = $(ALL_C_OBJS) $(ALL_PRG_OBJS)

first:: dirbase descend

descend :
	@$(MK) -C $(ARCH_DIR) -f $(GRANDP)Makefile 'TOP=$(GRANDP)' $(EXE_NAME)

$(EXE_NAME) : $(ALL_OBJS)
	$(LD_RULE)


INSTALL_OBJS = $(EXE_ARCH)
INSTALL_DIR = $(HB_BIN_INSTALL)

include $(TOP)$(ROOT)config/install.cf

endif
endif
c:\harbour\config\c.cf
#
# $Id: c.cf 6930 2006-11-28 20:38:47Z druzus $
#

C_OBJS = $(C_SOURCES:.c=$(OBJ_EXT)) $(CPP_SOURCES:.cpp=$(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_H = y_tab.h
YACC_OUTPUT = $(YACC_C:.c=.out)
YACC_OBJ = $(YACC_C:.c=$(OBJ_EXT))
YACC_HB_H := $(foreach h, $(YACC_HEADERS), $(HB_INC_COMPILE)/$(h))
endif

ifdef LEX_SOURCE
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)

$(YACC_OBJ) : $(YACC_C)

ifeq ($(HB_REBUILD_PARSER),yes)
$(YACC_C) : ../../$(YACC_SOURCE) $(YACC_HB_H)
	$(YACC) $(YACC_FLAGS) -o$@ $<
else
ifeq ($(DIRSEP),)
DIRSEP = /
endif
%y.c : ../../%.yyc
	$(CP) $(subst /,$(DIRSEP),$<) $@
	$(CP) $(subst /,$(DIRSEP),$(<:.yyc=.yyh)) $(@:.c=.h)
endif

$(LEX_OBJ) : $(LEX_C)

$(LEX_C) : ../../$(LEX_SOURCE) $(LEX_HB_H)
	$(LEX) $(LEX_FLAGS) -o$@ $<
c:\harbour\config\dir.cf
#
# $Id: dir.cf 6424 2004-10-11 20:44:30Z druzus $
#

ifneq ($(HB_ARCHITECTURE),)
ifneq ($(HB_COMPILER),)

include $(TOP)$(ROOT)config/global.cf
include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/dir.cf

all : first

first clean install::
	$(DIR_RULE)

ifneq ($(HB_POSTINST),)
install::
	$(HB_POSTINST)
endif

endif
endif
c:\harbour\config\doc.cf
#
# $Id: doc.cf 5951 2003-05-10 03:33:25Z dholm $
#

ifneq ($(HB_ARCHITECTURE),)
ifneq ($(HB_COMPILER),)

include $(TOP)$(ROOT)config/global.cf

first::

ifeq ($(HB_DOC_INSTALL),)
install::

else
INSTALL_OBJS = $(DOC_FILES)
INSTALL_DIR = $(HB_DOC_INSTALL)$(DOC_SUBDIR)

include $(TOP)$(ROOT)config/install.cf
endif
endif
endif
c:\harbour\config\global.cf
#
# $Id: global.cf 8279 2008-02-04 08:32:17Z druzus $
#

GRANDP = ../../
HB_ARCH := $(HB_ARCHITECTURE)/$(HB_COMPILER)

#names of valid RDD libraries
HB_DB_DRIVERS=\
	rddntx \
	rddcdx \
	rddfpt \
	hbsix \
	hbhsx \
	hbusrrdd \

#names of valid RDD subdirectories
HB_DB_DIRS=\
	dbfntx \
	dbfcdx \
	dbffpt \
	hbsix \
	hsx \
	usrrdd \


ifneq ($(HB_DB_DRVEXT),)
HB_DB_DRIVERS += $(HB_DB_DRVEXT)
HB_DB_DIRS += $(HB_DB_DRVEXT)
endif

ifeq ($(HB_BIN_COMPILE),)
HB_BIN_COMPILE := $(TOP)$(ROOT)source/main/$(HB_ARCH)
endif

ifeq ($(HB_INC_COMPILE),)
HB_INC_COMPILE := $(TOP)$(ROOT)include
endif

ifeq ($(HB_LIB_COMPILE),)
HB_LIB_COMPILE :=
endif

include $(TOP)$(ROOT)config/$(HB_ARCH).cf
c:\harbour\config\header.cf
#
# $Id: header.cf 5951 2003-05-10 03:33:25Z dholm $
#

ifneq ($(HB_ARCHITECTURE),)
ifneq ($(HB_COMPILER),)

include $(TOP)$(ROOT)config/global.cf

ALL_HEADERS = $(C_HEADERS) $(PRG_HEADERS) $(API_HEADERS)

first::

ifeq ($(HB_INC_INSTALL),)
install::

else
INSTALL_OBJS = $(ALL_HEADERS)
INSTALL_DIR = $(HB_INC_INSTALL)

include $(TOP)$(ROOT)config/install.cf
endif
endif
endif
c:\harbour\config\install.cf
#
# $Id: install.cf 8636 2008-06-05 12:58:54Z druzus $
#

include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/install.cf

ifneq ($(HB_INSTALL_DEF),yes)
install:: first
	$(INSTALL_RULE)
endif
c:\harbour\config\lib.cf
#
# $Id: lib.cf 8286 2008-02-07 19:17:55Z druzus $
#

ifneq ($(HB_ARCHITECTURE),)
ifneq ($(HB_COMPILER),)

#no slash at the end
LIB_PATH := $(TOP)$(ROOT)lib/$(HB_ARCHITECTURE)
#no slash at the end
LIB_DIR := $(LIB_PATH)/$(HB_COMPILER)

include $(TOP)$(ROOT)config/global.cf
include $(TOP)$(ROOT)config/c.cf
include $(TOP)$(ROOT)config/prg.cf

LIB_NAME := $(LIB_PREF)$(LIBNAME)$(LIB_EXT)

LIB_ARCH := $(LIB_DIR)/$(LIB_NAME)

ALL_OBJS = $(ALL_C_OBJS) $(ALL_PRG_OBJS)

first:: dirbase descend

descend :
	@$(MK) -C $(ARCH_DIR) -f $(GRANDP)Makefile 'TOP=$(GRANDP)' $(LIB_NAME)

vpath $(LIB_NAME) $(LIB_DIR)
$(LIB_NAME) : $(ALL_OBJS)
	$(AR_RULE)


INSTALL_OBJS = $(LIB_ARCH)
INSTALL_DIR = $(HB_LIB_INSTALL)

include $(TOP)$(ROOT)config/install.cf

endif
endif
c:\harbour\config\none.cf
#
# $Id: none.cf 8912 2008-07-03 11:16:32Z druzus $
#

ifneq ($(HB_ARCHITECTURE),)
ifneq ($(HB_COMPILER),)

CMDPREF:=
ifeq ($(SHLVL),)
ifneq ($(COMSPEC),)
CMDPREF:=$(COMSPEC) /C
endif
endif

ifneq ($(LIBNAME),)
   DIR_RULE := @$(CMDPREF)echo "The '$(LIBNAME)' library ignored."
else
   DIR_RULE :=
endif

all : first


first clean install::
	$(DIR_RULE)

endif
endif
c:\harbour\config\prg.cf
#
# $Id: prg.cf 910 1999-07-30 19:02:10Z gdiet $
#

PRG_C_SOURCES = $(PRG_SOURCES:.prg=.c)
PRG_OBJS = $(PRG_SOURCES:.prg=$(OBJ_EXT))
PRG_EXES = $(PRG_SOURCES:.prg=$(EXE_EXT))

PRG_MAIN_OBJ = $(PRG_MAIN:.prg=$(OBJ_EXT))

ALL_PRG_OBJS = $(PRG_OBJS) $(PRG_MAIN_OBJ)

$(PRG_OBJS) : %$(OBJ_EXT) : %.c

$(PRG_C_SOURCES) : %.c : $(GRANDP)%.prg
c:\harbour\config\rules.cf
#
# $Id: rules.cf 9378 2008-09-14 10:19:59Z vszakats $
#

# How to run yacc.
YACC = bison
YACC_FLAGS := -d $(YACC_FLAGS)

# How to run lex.
LEX = flex
LEX_FLAGS := -i -8 $(LEX_FLAGS)

#
# How to run Harbour.
#
HB := $(notdir $(HB_BIN_COMPILE))
ifneq ($(HB),)
# there is no slash at the end
HB := $(HB_BIN_COMPILE)/
endif
HB := $(HB)harbour$(EXE_EXT)

HB_FLAGS = -n -q0 -w3 -es2 -km -I$(HB_INC_COMPILE)

# The rule to link an executable.
ifeq ($(LD_RULE),)
# Use default rule if architecture/compiler specific rule is not defined
LD_RULE = $(LD) $(CFLAGS) $(LD_OUT)$@ $(^F) $(LDFLAGS) $(L_USR) $(LINKLIBS)
endif

# The rule to compile a C source file.
ifeq ($(CC_RULE),)
# Use default rule if architecture/compiler specific rule is not defined
CC_RULE = $(CC) $(CPPFLAGS) $(CFLAGS) $(C_USR) $(CC_IN) $? $(CC_OUT)$(?F:.c=$(OBJ_EXT))
endif

# The rule to compile a C++ source file.
ifeq ($(CPP_RULE),)
# Use default rule if architecture/compiler specific rule is not defined
CPP_RULE = $(CC) $(CPPFLAGS) $(CFLAGS) $(C_USR) $(CC_IN) $? $(CC_OUT)$(?F:.cpp=$(OBJ_EXT))
endif


# Eliminate these rules.

%.c : %.y

%.c : %.l

# Location of source C files
# Some DOS compilers doesn't like '/' in filenames - however the MAKE system
# requires '/' in filenames - this trick allows to solve this conflict
SOURCE_DIR := $($(HB_ARCHITECTURE)_$(HB_COMPILER)_GRANDP)
ifeq ($(SOURCE_DIR),)
SOURCE_DIR = $(GRANDP)
endif

# Rule to generate an object file from a C source file in the parent.
%$(OBJ_EXT) : $(SOURCE_DIR)%.c
	$(CC_RULE)

# Rule to generate an object file from a C source file.
%$(OBJ_EXT) : %.c
	$(CC_RULE)

#rules for CPP files
%$(OBJ_EXT) : $(SOURCE_DIR)%.cpp
	$(CPP_RULE)

%$(OBJ_EXT) : %.cpp
	$(CPP_RULE)


# Rule to generate an executable file from an object file.
%$(EXE_EXT) : %$(OBJ_EXT)
	$(LD_RULE)

# Rule to generate a C file from a PRG file.
%.c : $(GRANDP)%.prg
	$(HB) $? $(HB_FLAGS) $(PRG_USR)

ifeq ($(SHLVL),) # COMMAND.COM
# Do nothing. the $(hb_architecture)/global.cf will handle clean up.
else
# Generic rule to clean up.
clean::
	-$(RM) *.bak *.obj core *.core *~ *.o *.ppo
endif
c:\harbour\config\test.cf
#
# $Id: test.cf 4301 2001-08-20 14:07:06Z davep $
#

ifneq ($(HB_ARCHITECTURE),)
ifneq ($(HB_COMPILER),)

include $(TOP)$(ROOT)config/global.cf
include $(TOP)$(ROOT)config/prg.cf

first:: dirbase ^^^d^e^s^c^e^n^d^^^

^^^d^e^s^c^e^n^d^^^ :
	@$(MK) -C $(ARCH_DIR) -f $(GRANDP)Makefile 'TOP=$(GRANDP)' $(PRG_EXES)

endif
endif

install:

Page url: http://www.yourdomain.com/help/index.html?config.htm