Files
harbour-core/config/globsh.mk
Viktor Szakats 03ac58b17b 2017-09-08 18:22 UTC Viktor Szakats (vszakats users.noreply.github.com)
* bin/commit.hb
  * config/detect.mk
  * config/detfun.mk
  * config/detplat.mk
  * config/dir.mk
  * config/dirsh.mk
  * config/global.mk
  * config/globsh.mk
  * config/instsh.mk
  * config/lang.hb
  * config/lang2po.hb
  * config/po2lang.hb
  * config/postinst.hb
  * contrib/hbexpat/tests/tohash.prg
  * contrib/hbformat/utils/hbformat.ini
  * contrib/hbmisc/hbedit.prg
  * contrib/hbmxml/tests/testmxml.prg
  * contrib/hbnetio/utils/hbnetio/_console.prg
  * contrib/hbnetio/utils/hbnetio/_winsvc.prg
  * contrib/hbnetio/utils/hbnetio/hbnetio.prg
  * contrib/hbnetio/utils/hbnetio/netiomgm.hb
  * contrib/hbwin/tests/ole.prg
  * contrib/hbwin/tests/oletst2.js
  * contrib/hbwin/tests/oletst2.vbs
  * contrib/hbxpp/doc/en/binnumx.txt
  * contrib/hbxpp/doc/en/dbcmdx.txt
  * contrib/xhb/htmutil.prg
  * contrib/xhb/tfile.prg
  * contrib/xhb/tframe.prg
  * contrib/xhb/thtm.prg
  * ChangeLog.txt
  * debian/copyright
  * doc/class_tp.txt
  * doc/hdr_tpl.txt
  * doc/xhb-diff.txt
  * LICENSE.txt
  * package/harbour-wce.spec.in
  * package/harbour-win.spec.in
  * package/harbour.spec
  * package/mpkg_rpm_wce.sh
  * package/mpkg_rpm_win.sh
  * package/mpkg_rpm.sh
  * package/mpkg_src.sh
  * package/mpkg_ver.sh
  * src/rtl/achoice.prg
  * src/rtl/getsys53.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tlabel.prg
  * src/rtl/tmenusys.prg
  * tests/hbdoc.prg
  * tests/langmsg.prg
  * tests/rto_get.prg
  * tests/rto_tb.prg
  + doc/en/ati.txt
  + doc/en/dirdrive.txt
  + doc/en/hashfunc.txt
  + doc/en/hbtoken.txt
  + doc/en/left.txt
  + doc/en/proc.txt
  + doc/en/strtran.txt
  + doc/en/transfrm.txt
  + doc/en/typefile.txt
  * doc/en/*
    * more partial sync with 3.4 fork
2017-09-08 18:25:11 +00:00

235 lines
9.1 KiB
Makefile

# ---------------------------------------------------------------
# Copyright 2009 Viktor Szakats (vszakats.net/harbour) (rework)
# See LICENSE.txt for licensing terms.
# ---------------------------------------------------------------
# See batch docs here:
# https://www.computerhope.com/batch.htm
# http://www.robvanderwoude.com/batchcommands.php
ifneq ($(HB_SHELL),sh)
TOOL_DIR := $(subst /,\,$(TOP)$(ROOT)config/)
# Have to use '=' operator here for rules to work
PKG_DIR_OS = $(subst /,\,$(PKG_DIR))
OBJ_DIR_OS = $(subst /,\,$(OBJ_DIR))
LIB_DIR_OS = $(subst /,\,$(LIB_DIR))
LIB_FILE_OS = $(subst /,\,$(LIB_FILE))
BIN_DIR_OS = $(subst /,\,$(BIN_DIR))
BIN_FILE_OS = $(subst /,\,$(BIN_FILE))
DYN_DIR_OS = $(subst /,\,$(DYN_DIR))
DYN_FILE_OS = $(subst /,\,$(DYN_FILE))
IMP_DIR_OS = $(subst /,\,$(IMP_DIR))
IMP_FILE_OS = $(subst /,\,$(IMP_FILE))
endif
ifeq ($(HB_SHELL),sh)
MK := $(MAKE)
RM := rm -f
RDP := rm -f -r
CP := cp -f
LN := ln -sf
MD := mkdir
MDP := mkdir -p
ECHO := echo
ECHOQUOTE := "
TRUE := TRUE=true
FALSE := false
dirbase::
@[ -d "$(OBJ_DIR)" ] || $(MDP) $(OBJ_DIR)
@[ -z "$(LIB_FILE)" ] || [ -d "$(LIB_DIR)" ] || $(MDP) $(LIB_DIR)
@[ -z "$(BIN_FILE)" ] || [ -d "$(BIN_DIR)" ] || $(MDP) $(BIN_DIR)
@[ -z "$(DYN_FILE)" ] || [ -d "$(DYN_DIR)" ] || $(MDP) $(DYN_DIR)
@[ -z "$(IMP_FILE)" ] || [ -d "$(IMP_DIR)" ] || $(MDP) $(IMP_DIR)
clean::
-@$(RDP) $(PKG_DIR) $(OBJ_DIR) $(LIB_FILE) $(BIN_FILE) $(DYN_FILE) $(IMP_FILE); \
if [ -n "$(LIB_FILE)" ]; then \
$(RM) $(basename $(LIB_FILE)).bak; \
[ "`$(ECHO) $(LIB_DIR)/*`" != "$(LIB_DIR)/*" ] || $(RDP) $(LIB_DIR); \
fi ; \
if [ -n "$(BIN_FILE)" ]; then \
$(RM) $(basename $(BIN_FILE)).tds; \
$(RM) $(basename $(BIN_FILE)).pch; \
$(RM) $(basename $(BIN_FILE)).pdb; \
$(RM) $(basename $(BIN_FILE)).ilk; \
[ "`$(ECHO) $(BIN_DIR)/*`" != "$(BIN_DIR)/*" ] || $(RDP) $(BIN_DIR); \
fi ; \
if [ -n "$(DYN_FILE)" ]; then \
$(RM) $(basename $(DYN_FILE)).tds; \
$(RM) $(basename $(DYN_FILE)).pch; \
$(RM) $(basename $(DYN_FILE)).pdb; \
$(RM) $(basename $(DYN_FILE)).ilk; \
$(RM) $(basename $(DYN_FILE)).def; \
$(RM) $(basename $(DYN_FILE)).exp; \
$(RM) $(DYN_FILE_NVR); \
$(RM) $(DYN_FILE_CPT); \
[ "`$(ECHO) $(DYN_DIR)/*`" != "$(DYN_DIR)/*" ] || $(RDP) $(DYN_DIR); \
fi ; \
if [ -n "$(IMP_FILE)" ]; then \
$(RM) $(basename $(IMP_FILE)).exp; \
[ "`$(ECHO) $(IMP_DIR)/*`" != "$(IMP_DIR)/*" ] || $(RDP) $(IMP_DIR); \
fi
endif
ifeq ($(HB_SHELL),nt)
# NOTE: According to http://support.microsoft.com/kb/830473
# The command line length limit for cmd.exe is 8191 chars
# for Windows XP and upper and 2047 for Windows NT and 2000.
# This is true for commands which are recognized as shell
# commands (by using an internal list). For the rest
# CreateProcess() is used, where the maximum length is 32767.
# [vszakats]
MK := $(subst \,/,$(MAKE))
RM := del /q /f
RDP := rmdir /q /s
CP := copy
LN := $(CP)
MD := mkdir
MDP := mkdir
ECHO := echo
ECHOQUOTE :=
TRUE := $(ECHO) > nul
FALSE := $(MD) . 2> nul
dirbase::
-@if not exist "$(OBJ_DIR_OS)" $(MDP) "$(OBJ_DIR_OS)"
$(if $(LIB_FILE),-@if not exist "$(LIB_DIR_OS)" $(MDP) "$(LIB_DIR_OS)",)
$(if $(BIN_FILE),-@if not exist "$(BIN_DIR_OS)" $(MDP) "$(BIN_DIR_OS)",)
$(if $(DYN_FILE),-@if not exist "$(DYN_DIR_OS)" $(MDP) "$(DYN_DIR_OS)",)
$(if $(IMP_FILE),-@if not exist "$(IMP_DIR_OS)" $(MDP) "$(IMP_DIR_OS)",)
clean::
-@if exist "$(OBJ_DIR_OS)" $(RDP) "$(OBJ_DIR_OS)"
-@if exist "$(PKG_DIR_OS)" $(RDP) "$(PKG_DIR_OS)"
$(if $(LIB_FILE),-@if exist "$(LIB_FILE_OS)" $(RM) "$(LIB_FILE_OS)",)
$(if $(LIB_FILE),-@if exist "$(basename $(LIB_FILE_OS)).bak" $(RM) "$(basename $(LIB_FILE_OS)).bak",)
$(if $(LIB_FILE),-@if exist "$(LIB_DIR_OS)" if not exist "$(LIB_DIR_OS)\*" $(RDP) "$(LIB_DIR_OS)",)
$(if $(BIN_FILE),-@if exist "$(BIN_FILE_OS)" $(RM) "$(BIN_FILE_OS)",)
$(if $(BIN_FILE),-@if exist "$(basename $(BIN_FILE_OS)).tds" $(RM) "$(basename $(BIN_FILE_OS)).tds",)
$(if $(BIN_FILE),-@if exist "$(basename $(BIN_FILE_OS)).pch" $(RM) "$(basename $(BIN_FILE_OS)).pch",)
$(if $(BIN_FILE),-@if exist "$(basename $(BIN_FILE_OS)).pdb" $(RM) "$(basename $(BIN_FILE_OS)).pdb",)
$(if $(BIN_FILE),-@if exist "$(basename $(BIN_FILE_OS)).ilk" $(RM) "$(basename $(BIN_FILE_OS)).ilk",)
$(if $(BIN_FILE),-@if exist "$(BIN_DIR_OS)" if not exist "$(BIN_DIR_OS)\*" $(RDP) "$(BIN_DIR_OS)",)
$(if $(DYN_FILE),-@if exist "$(DYN_FILE_OS)" $(RM) "$(DYN_FILE_OS)",)
$(if $(DYN_FILE),-@if exist "$(basename $(DYN_FILE_OS)).tds" $(RM) "$(basename $(DYN_FILE_OS)).tds",)
$(if $(DYN_FILE),-@if exist "$(basename $(DYN_FILE_OS)).pch" $(RM) "$(basename $(DYN_FILE_OS)).pch",)
$(if $(DYN_FILE),-@if exist "$(basename $(DYN_FILE_OS)).pdb" $(RM) "$(basename $(DYN_FILE_OS)).pdb",)
$(if $(DYN_FILE),-@if exist "$(basename $(DYN_FILE_OS)).ilk" $(RM) "$(basename $(DYN_FILE_OS)).ilk",)
$(if $(DYN_FILE),-@if exist "$(basename $(DYN_FILE_OS)).def" $(RM) "$(basename $(DYN_FILE_OS)).def",)
$(if $(DYN_FILE),-@if exist "$(basename $(DYN_FILE_OS)).exp" $(RM) "$(basename $(DYN_FILE_OS)).exp",)
$(if $(DYN_FILE),-@if exist "$(DYN_DIR_OS)" if not exist "$(DYN_DIR_OS)\*" $(RDP) "$(DYN_DIR_OS)",)
$(if $(IMP_FILE),-@if exist "$(IMP_FILE_OS)" $(RM) "$(IMP_FILE_OS)",)
$(if $(IMP_FILE),-@if exist "$(basename $(IMP_FILE_OS)).exp" $(RM) "$(basename $(IMP_FILE_OS)).exp",)
$(if $(IMP_FILE),-@if exist "$(IMP_DIR_OS)" if not exist "$(IMP_DIR_OS)\*" $(RDP) "$(IMP_DIR_OS)",)
endif
ifeq ($(HB_SHELL),os2)
# NOTE: Maximum size of command line in OS/2 is limited to 1024
# characters.
# NOTE: Comment on included OS/2 GNU tools:
# os2mkdir and os2cp expects forward slashes, while
# os2rm expects backslashes in filenames. [vszakats]
MK := $(subst \,/,$(MAKE))
RM := $(TOOL_DIR)os2rm -f
RDP := $(TOOL_DIR)os2rm -fr
CP := $(TOOL_DIR)os2cp -f
LN :=
MD := $(TOOL_DIR)os2mkdir
MDP := $(TOOL_DIR)os2mkdir -p
ECHO := echo
ECHOQUOTE :=
TRUE := $(ECHO) > nul
# TODO
FALSE := $(TRUE)
dirbase::
-@$(MDP) $(OBJ_DIR)
$(if $(LIB_FILE),-@$(MDP) $(LIB_DIR),)
$(if $(BIN_FILE),-@$(MDP) $(BIN_DIR),)
$(if $(DYN_FILE),-@$(MDP) $(DYN_DIR),)
$(if $(IMP_FILE),-@$(MDP) $(IMP_DIR),)
clean::
-@$(RDP) $(PKG_DIR_OS) $(OBJ_DIR_OS) $(LIB_FILE_OS) $(BIN_FILE_OS) $(DYN_FILE_OS) $(IMP_FILE_OS)
$(if $(LIB_FILE),-@$(RM) $(basename $(LIB_FILE_OS)).bak,)
$(if $(LIB_FILE),$(if $(wildcard $(LIB_DIR)/*.*),,-@$(RDP) $(LIB_DIR_OS)),)
$(if $(BIN_FILE),-@$(RM) $(basename $(BIN_FILE_OS)).tds,)
$(if $(BIN_FILE),-@$(RM) $(basename $(BIN_FILE_OS)).pch,)
$(if $(BIN_FILE),-@$(RM) $(basename $(BIN_FILE_OS)).pdb,)
$(if $(BIN_FILE),-@$(RM) $(basename $(BIN_FILE_OS)).ilk,)
$(if $(BIN_FILE),$(if $(wildcard $(BIN_DIR)/*.*),,-@$(RDP) $(BIN_DIR_OS)),)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).tds,)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).pch,)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).pdb,)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).ilk,)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).def,)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).exp,)
$(if $(DYN_FILE),$(if $(wildcard $(DYN_DIR)/*.*),,-@$(RDP) $(DYN_DIR_OS)),)
$(if $(IMP_FILE),-@$(RM) $(basename $(IMP_FILE_OS)).exp,)
$(if $(IMP_FILE),$(if $(wildcard $(IMP_DIR)/*.*),,-@$(RDP) $(IMP_DIR_OS)),)
endif
ifeq ($(HB_SHELL),dos)
# NOTE: MS-DOS command line length has a limit of 126 characters.
# When using DJGPP GNU Make to invoke other DJGPP tools this limit
# is about 13KB, as they do special trick to overcome it.
# See these DJGPP FAQs:
# http://www.delorie.com/djgpp/v2faq/faq16_4.html
# http://www.delorie.com/djgpp/v2faq/faq16_5.html
# [vszakats]
MK := $(subst \,/,$(MAKE))
RM := $(TOOL_DIR)dosrm -f
RDP := $(TOOL_DIR)dosrm -fr
CP := $(TOOL_DIR)doscp -f
LN :=
MD := $(TOOL_DIR)dosmkdir
MDP := $(TOOL_DIR)dosmkdir -p
ECHO := $(TOOL_DIR)dosecho
ECHOQUOTE := "
TRUE := $(ECHO) > nul
# TODO
FALSE := $(TRUE)
dirbase::
-@$(MDP) $(OBJ_DIR_OS)
$(if $(LIB_FILE),-@$(MDP) $(LIB_DIR_OS),)
$(if $(BIN_FILE),-@$(MDP) $(BIN_DIR_OS),)
$(if $(DYN_FILE),-@$(MDP) $(DYN_DIR_OS),)
$(if $(IMP_FILE),-@$(MDP) $(IMP_DIR_OS),)
clean::
-@$(RDP) $(PKG_DIR_OS) $(OBJ_DIR_OS) $(LIB_FILE_OS) $(BIN_FILE_OS) $(DYN_FILE_OS) $(IMP_FILE_OS)
$(if $(LIB_FILE),-@$(RM) $(basename $(LIB_FILE_OS)).bak,)
$(if $(LIB_FILE),$(if $(wildcard $(LIB_DIR)/*.*),,-@$(RDP) $(LIB_DIR_OS)),)
$(if $(BIN_FILE),-@$(RM) $(basename $(BIN_FILE_OS)).tds,)
$(if $(BIN_FILE),-@$(RM) $(basename $(BIN_FILE_OS)).pch,)
$(if $(BIN_FILE),-@$(RM) $(basename $(BIN_FILE_OS)).pdb,)
$(if $(BIN_FILE),-@$(RM) $(basename $(BIN_FILE_OS)).ilk,)
$(if $(BIN_FILE),$(if $(wildcard $(BIN_DIR)/*.*),,-@$(RDP) $(BIN_DIR_OS)),)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).tds,)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).pch,)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).pdb,)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).ilk,)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).def,)
$(if $(DYN_FILE),-@$(RM) $(basename $(DYN_FILE_OS)).exp,)
$(if $(DYN_FILE),$(if $(wildcard $(DYN_DIR)/*.*),,-@$(RDP) $(DYN_DIR_OS)),)
$(if $(IMP_FILE),-@$(RM) $(basename $(IMP_FILE_OS)).exp,)
$(if $(IMP_FILE),$(if $(wildcard $(IMP_DIR)/*.*),,-@$(RDP) $(IMP_DIR_OS)),)
endif