* harbour/source/compiler/harbour.y
* use HB_COMP_PARAM macro in expression destructor instead of
direct accessing hb_comp_data global variable to make compiler
code MT safe
+ harbour/source/compiler/harbour.yyc
+ harbour/source/compiler/harbour.yyh
+ harbour/source/macro/macro.yyc
+ harbour/source/macro/macro.yyh
+ added generated by bison 2.3 grammar parsers for compiler and
macro compiler
* harbour/config/dos/global.cf
* harbour/config/dos/install.cf
* harbour/config/w32/global.cf
* changed CP definition for COMMAND.COM so it can work as standalone
command and added DIRSEP macro
* harbour/config/c.cf
+ added support for HB_REBUILD_PARSER=no environment variable.
When it's set then during build process grammars parsers
will not be generated from grammar definitions files (.y)
but instead the predefined ones (.yyc) used.
Tested and works well in Linux and DOS
* harbour/makefile.bc
+ added support for HB_REBUILD_PARSER=no environment variable.
Not tested. It's even possible that I've just broken the BCC
compilation with this modification. Please check it and fix
me if necessary.
99 lines
1.9 KiB
CFEngine3
99 lines
1.9 KiB
CFEngine3
#
|
|
# $Id$
|
|
#
|
|
|
|
ifndef MK
|
|
|
|
all : first
|
|
|
|
HB_GT_LIBS=\
|
|
gtcgi \
|
|
gtpca \
|
|
gtstd \
|
|
gtdos \
|
|
# gtcrs \
|
|
# gtsln \
|
|
|
|
|
|
ifeq ($(HB_GT_LIB),)
|
|
HB_GT_LIB = gtdos
|
|
endif
|
|
|
|
ifeq ($(SHLVL),) # COMMAND.COM
|
|
|
|
# There is a conflict with the use of '\' and '/' characters
|
|
# The MAKE requires '/' in filenames (ARCH_DIR) however some compilers
|
|
# and some DOS commands require '\' (ARCH_DOS)
|
|
ARCH_DIR = $(subst \,/,$(HB_ARCH))
|
|
ARCH_DOS = $(subst /,\,$(HB_ARCH))
|
|
DIRSEP = $(subst /,\,\)
|
|
|
|
MK := $(subst \,/,$(subst \~,~,$(MAKE)))
|
|
|
|
ifeq ($(COMSPEC),) #location of command.com
|
|
COMSPEC := command.com
|
|
else
|
|
ifeq ($(HB_COMPILER),bcc16)
|
|
#Use standard dos path, which is already set up.
|
|
else
|
|
ifeq ($(HB_COMPILER),rsx32)
|
|
#Use standard dos path, which is already set up.
|
|
else
|
|
ifneq ($(findstring watcom,$(HB_COMPILER)),)
|
|
#Use standard dos path, which is already set up.
|
|
else
|
|
ifeq ($(HB_COMPILER),djgpp)
|
|
#Use standard dos path, which is already set up.
|
|
else
|
|
ifeq ($(HB_COMPILER),emx)
|
|
#Use standard dos path, which is already set up.
|
|
else
|
|
COMSPEC := $(subst \,/,$(COMSPEC))
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
RM = del
|
|
RD = rmdir
|
|
CP = $(COMSPEC) /Ccopy
|
|
MV = move
|
|
MD = md
|
|
|
|
#this will be used only under DJGPP
|
|
RANLIB = ranlib
|
|
|
|
dirbase::
|
|
-@$(COMSPEC) /Cfor %d in ($(HB_ARCHITECTURE) $(ARCH_DOS)) do if not exist %d\nul $(MD) %d
|
|
|
|
clean::
|
|
-@$(COMSPEC) /Cfor %f in ($(ARCH_DOS)\*.* *.bak *.obj *.o *.tds) do $(RM) %f
|
|
-@$(COMSPEC) /Cfor %d in ($(ARCH_DOS) $(HB_ARCHITECTURE)) do if exist %d\nul $(RD) %d
|
|
|
|
else # bash
|
|
|
|
ARCH_DIR = $(HB_ARCH)
|
|
MK = $(MAKE)
|
|
|
|
RM = rm -f
|
|
RD = rm -f -r
|
|
CP = cp -f
|
|
MV = mv -f
|
|
MD = mkdir
|
|
|
|
#this will be used only under MINGW
|
|
RANLIB = ranlib
|
|
|
|
|
|
dirbase::
|
|
@[ -d $(HB_ARCHITECTURE) ] || $(MD) $(HB_ARCHITECTURE); \
|
|
[ -d $(ARCH_DIR) ] || $(MD) $(ARCH_DIR)
|
|
|
|
clean::
|
|
-$(RD) $(HB_ARCH)
|
|
|
|
endif
|
|
endif
|