* contrib/hbamf/hbamf.hbp
* contrib/hbblink/hbblink.hbp
* contrib/hbcomm/hbcomm.hbp
* contrib/hbcups/hbcups.hbp
* contrib/hbcurl/hbcurl.hbm
* contrib/hbdroid/hbdroid.hbp
* contrib/hbexpat/hbexpat.hbp
* contrib/hbfbird/hbfbird.hbp
* contrib/hbfimage/hbfimage.hbp
* contrib/hbformat/hbformat.hbp
* contrib/hbfoxpro/hbfoxpro.hbp
* contrib/hbfship/hbfship.hbp
* contrib/hbgs/hbgs.hbp
* contrib/hbgt/hbgt.hbp
* contrib/hbhttpd/hbhttpd.hbp
* contrib/hblzf/hblzf.hbp
* contrib/hbmagic/hbmagic.hbp
* contrib/hbmemio/hbmemio.hbp
* contrib/hbmisc/hbmisc.hbp
* contrib/hbmlzo/hbmlzo.hbp
* contrib/hbmxml/hbmxml.hbp
* contrib/hbnetio/hbnetio.hbp
* contrib/hbnf/hbnf.hbp
* contrib/hboslib/hboslib.hbp
* contrib/hbsms/hbsms.hbp
* contrib/hbssl/hbssl.hbm
* contrib/hbtpathy/hbtpathy.hbp
* contrib/hbxdiff/hbxdiff.hbp
* contrib/hbxpp/hbxpp.hbp
* contrib/hbziparc/hbziparc.hbp
* do not copy .ch/.hbx files to central Harbour
directory. It means that if you need to use
these files from now on, you need to use the
.hbc files to add these packages to your project:
freeimag.ch ftmenuto.ch hbblink.ch hbcurl.ch hbexpat.ch
hbfoxpro.ch hblzf.ch hbmagic.ch hbmlzo.ch hbmxml.ch
hbssl.ch hbxdiff.ch hbxppext.ch telepath.ch
(and more if you need an .hbx file.) INCOMPATIBLE.
This is a gradual step to complete this TODO:
2012-03-04 20:31 UTC+0100
* contrib/hbfbird/readme.txt
* contrib/hbfimage/readme.txt
* contrib/hbmysql/readme.txt
* contrib/hbnf/doc/en/chdir.txt
* contrib/hbnf/doc/en/cint86.txt
* contrib/hbziparc/doc/en/hbziparc.txt
* contrib/rddads/doc/en/readme.txt
* contrib/rddads/readme.txt
* doc/en/file.txt
* doc/dirstruc.txt
* doc/en/dir.txt
* doc/gmake.txt
* doc/gtapi.txt
* extras/httpsrv/readme.txt
* utils/hbmk2/hbmk2.1
* various updates (removed OS specific stuff,
added reference to .hbc files, hbmk2,
removed certain outdated information,
DOS -> MS-DOS)
- tests/dosshell.prg
+ tests/osshell.prg
* renamed/changed to be OS agnostic
* config/dir.mk
* config/dos/djgpp.mk
* config/globsh.mk
* DOS -> MS-DOS
* extras/httpsrv/uhttpd.prg
* src/debug/dbghelp.prg
* utils/hbmk2/hbmk2.es_PE.po
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.pt_BR.po
* DOS -> OS
* contrib/gtwvg/class.prg
* contrib/gtwvg/crt.prg
* contrib/gtwvg/dialog.prg
* contrib/gtwvg/mle.prg
* contrib/gtwvg/syswnd.prg
* contrib/gtwvg/wnd.prg
* removed unnecessary parentheses
241 lines
9.2 KiB
Makefile
241 lines
9.2 KiB
Makefile
#
|
|
# $Id$
|
|
#
|
|
|
|
# ---------------------------------------------------------------
|
|
# Copyright 2009 Viktor Szakats (harbour syenar.net) (rework)
|
|
# See COPYING for licensing terms.
|
|
# ---------------------------------------------------------------
|
|
|
|
# ---------------------------------------------------------------
|
|
# See batch docs here:
|
|
# http://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 :=
|
|
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
|