2007-11-23 04:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

* make_b32.bat
   * make_vc.bat
   * make_vcce.bat
     + Accepts "Install" and "Clean" consistently.
     ! Not directly modifying C_USR, instead use CFLAGS internally.

   * contrib/make_b32_all.bat
   * contrib/make_vc_all.bat
   * contrib/make_b32.bat
   * contrib/make_vc.bat
   * contrib/mtpl_b32.bat
   * contrib/mtpl_vc.bat
   * contrib/mtpl_b32.mak
   * contrib/mtpl_vc.mak
   - contrib/mtpl_defs.mak
     % Removed COPYCMD requirement.
     ! Not modifying any user level envvars anymore.
       (so no need for COMPSPEC trick to call another copy of command com)
     ! Some other smaller fixes.
     ! Fixed rdd_ads in make_*_all.bats.
     * Removed the simple common part for BC/VC to consistently 
       separate the BC/VC make file system. The only common 
       part now is common.mak in each contrib. (Marek I hope you don't 
       mind, I promise to update them in case of changes. We have quite 
       some reduancy between BC/VC anyway, so this won't hurt much overall, 
       but they are now nicely separated and maybe bit easier to oversee 
       for someone new to the project.
     ! Avoiding 'exit' command, as it stops all batch file 
       execution, and as a bad side-effect can force to exit 
       shells too.
     - CFLAGS, CLIBFLAGS, HARBOURFLAGS not advertised anymore as 
       official public vars to set compiler flags.
       C_USR, PRG_USR should be used, which are also GNU make system compatible.
     ! Fixed copyrights.
     ! Tabs converted to spaces.
This commit is contained in:
Viktor Szakats
2007-11-23 04:02:37 +00:00
parent 51ac0c49e0
commit 683a0e2621
14 changed files with 324 additions and 271 deletions

View File

@@ -8,6 +8,43 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2007-11-23 04:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* make_b32.bat
* make_vc.bat
* make_vcce.bat
+ Accepts "Install" and "Clean" consistently.
! Not directly modifying C_USR, instead use CFLAGS internally.
* contrib/make_b32_all.bat
* contrib/make_vc_all.bat
* contrib/make_b32.bat
* contrib/make_vc.bat
* contrib/mtpl_b32.bat
* contrib/mtpl_vc.bat
* contrib/mtpl_b32.mak
* contrib/mtpl_vc.mak
- contrib/mtpl_defs.mak
% Removed COPYCMD requirement.
! Not modifying any user level envvars anymore.
(so no need for COMPSPEC trick to call another copy of command com)
! Some other smaller fixes.
! Fixed rdd_ads in make_*_all.bats.
* Removed the simple common part for BC/VC to consistently
separate the BC/VC make file system. The only common
part now is common.mak in each contrib. (Marek I hope you don't
mind, I promise to update them in case of changes. We have quite
some reduancy between BC/VC anyway, so this won't hurt much overall,
but they are now nicely separated and maybe bit easier to oversee
for someone new to the project.
! Avoiding 'exit' command, as it stops all batch file
execution, and as a bad side-effect can force to exit
shells too.
- CFLAGS, CLIBFLAGS, HARBOURFLAGS not advertised anymore as
official public vars to set compiler flags.
C_USR, PRG_USR should be used, which are also GNU make system compatible.
! Fixed copyrights.
! Tabs converted to spaces.
2007-11-23 03:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/apollo/make_b32.bat
* contrib/apollo/make_vc.bat

View File

@@ -5,7 +5,7 @@ rem
if "%1" == "" goto ERROR
echo Entering %1 ...
echo Entering: %1
cd %1
call make_b32.bat %2 %3 %4 %5 %6 %7 %8 %9
@@ -15,7 +15,7 @@ goto EXIT
:ERROR
echo ----------------------------------------
echo RUN : make_b32.bat DIRNAME !!!
echo Usage: make_b32.bat <dirname>
echo ----------------------------------------
:EXIT

View File

@@ -4,19 +4,17 @@ rem $Id$
rem
rem The compilation is done in three steps. PLEASE DO NOT MODIFY
rem IT or you will break Win98 command.com line length limit !!!
rem IT or you will break Win9x command.com line length limit !!!
set HB_SHOW_ERRORS=no
set DO_NOT_COMPILE=examples hbclip hgf msql
set DIRS=adordd bmdbfcdx btree libct libgt libmisc libnf ole
for %%n in ( %DIRS% ) do call make_b32.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9
FOR %%n IN ( %DIRS% ) DO %COMSPEC% /c make_b32.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9
set DIRS=hbzlib htmllib odbc rdd_ads telepath tip win32 xhb
FOR %%n IN ( %DIRS% ) DO %COMSPEC% /c make_b32.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9
set DIRS=hbzlib htmllib odbc telepath tip win32 xhb
for %%n in ( %DIRS% ) do call make_b32.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9
set DIRS=samples directx
if not "%APOLLO_DIR%" == "" set DIRS=%DIRS% apollo
@@ -26,6 +24,5 @@ if not "%GD_DIR%" == "" set DIRS=%DIRS% gd
if not "%MYSQL_DIR%" == "" set DIRS=%DIRS% mysql
if not "%PDFLIB_DIR%" == "" set DIRS=%DIRS% pdflib
if not "%PGSQL_DIR%" == "" set DIRS=%DIRS% pgsql
FOR %%n IN ( %DIRS% ) DO %COMSPEC% /c make_b32.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9
if not "%ADS_DIR%" == "" set DIRS=%DIRS% rdd_ads
for %%n in ( %DIRS% ) do call make_b32.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9

View File

@@ -5,7 +5,7 @@ rem
if "%1" == "" goto ERROR
echo Entering %1 ...
echo Entering: %1
cd %1
call make_vc.bat %2 %3 %4 %5 %6 %7 %8 %9
@@ -15,7 +15,7 @@ goto EXIT
:ERROR
echo ----------------------------------------
echo RUN : make_vc.bat DIRNAME !!!
echo Usage: make_vc.bat <dirname>
echo ----------------------------------------
:EXIT

View File

@@ -4,19 +4,17 @@ rem $Id$
rem
rem The compilation is done in three steps. PLEASE DO NOT MODIFY
rem IT or you will break Win98 command.com line length limit !!!
rem IT or you will break Win9x command.com line length limit !!!
set HB_SHOW_ERRORS=no
set DO_NOT_COMPILE=examples hbclip hgf msql
set DIRS=adordd bmdbfcdx btree libct libgt libmisc libnf ole
for %%n in ( %DIRS% ) do call make_vc.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9
FOR %%n IN ( %DIRS% ) DO %COMSPEC% /c make_vc.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9
set DIRS=hbzlib htmllib odbc rdd_ads telepath tip win32 xhb
FOR %%n IN ( %DIRS% ) DO %COMSPEC% /c make_vc.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9
set DIRS=hbzlib htmllib odbc telepath tip win32 xhb
for %%n in ( %DIRS% ) do call make_vc.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9
set DIRS=samples directx
if not "%APOLLO_DIR%" == "" set DIRS=%DIRS% apollo
@@ -26,6 +24,5 @@ if not "%GD_DIR%" == "" set DIRS=%DIRS% gd
if not "%MYSQL_DIR%" == "" set DIRS=%DIRS% mysql
if not "%PDFLIB_DIR%" == "" set DIRS=%DIRS% pdflib
if not "%PGSQL_DIR%" == "" set DIRS=%DIRS% pgsql
FOR %%n IN ( %DIRS% ) DO %COMSPEC% /c make_vc.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9
if not "%ADS_DIR%" == "" set DIRS=%DIRS% rdd_ads
for %%n in ( %DIRS% ) do call make_vc.bat %%n %1 %2 %3 %4 %5 %6 %7 %8 %9

View File

@@ -15,54 +15,46 @@ rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=b32
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
if "%HB_SHOW_ERRORS%" == "" set HB_SHOW_ERRORS=yes
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
set _HB_CC_NAME=%HB_CC_NAME%
set _HB_MAKE_PROGRAM=%HB_MAKE_PROGRAM%
set _HB_SHOW_ERRORS=%HB_SHOW_ERRORS%
rem ---------------------------------------------------------------
rem Save the user value, force silent file overwrite with COPY
rem (not all Windows versions support the COPY /Y flag)
set HB_ORGENV_COPYCMD=%COPYCMD%
set COPYCMD=/Y
if "%_HB_CC_NAME%" == "" set _HB_CC_NAME=b32
if "%_HB_MAKE_PROGRAM%" == "" set _HB_MAKE_PROGRAM=make.exe
if "%_HB_SHOW_ERRORS%" == "" set _HB_SHOW_ERRORS=yes
set HB_MAKEFILE=..\mtpl_%_HB_CC_NAME%.mak
set HB_EXIT_LEVEL=
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "Clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "Install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -N -r -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 if "%HB_SHOW_ERRORS%" == "yes" notepad make_%HB_CC_NAME%.log
%_HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%_HB_CC_NAME%.log
if errorlevel 1 set HB_EXIT_LEVEL=1
if errorlevel 1 if "%_HB_SHOW_ERRORS%" == "yes" notepad make_%_HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -N -r -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
%_HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%_HB_CC_NAME%.log
if errorlevel 1 set HB_EXIT_LEVEL=1
if errorlevel 1 goto EXIT
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
if exist make_%_HB_CC_NAME%.log del make_%_HB_CC_NAME%.log > nul
if exist inst_%_HB_CC_NAME%.log del inst_%_HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -N -r -f %HB_MAKEFILE% INSTALL > nul
%_HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
if errorlevel 1 set HB_EXIT_LEVEL=1
if errorlevel 1 goto EXIT
goto EXIT
:EXIT
rem ---------------------------------------------------------------
rem Restore user value
set COPYCMD=%HB_ORGENV_COPYCMD%
if "%HB_EXIT_LEVEL%" == "1" exit 1

View File

@@ -8,23 +8,16 @@
# --------------------------------------------------------
# ---------------------------------------------------------------
# Copyright 1999-2001 Viktor Szakats <viktor.szakats@syenar.hu>
# Copyright 2007 Marek Paliwoda (mpaliwoda "at" interia "dot" pl)
# See doc/license.txt for licensing terms.
# ---------------------------------------------------------------
# NOTE: You can use these envvars to configure the make process:
# (note that these are all optional)
# NOTE: You can use these optional envvars to configure the make process:
#
# C_USR - Extra C compiler options for libraries
# PRG_USR - Extra Harbour compiler options
#
# CFLAGS - Extra C compiler options for libraries and for
# executables
# C_USR - Extra C compiler options for libraries and for
# executables (GNU make compatible envvar)
# CLIBFLAGS - Extra C compiler options for the libraries
# HARBOURFLAGS - Extra Harbour compiler options
# PRG_USR - Extra Harbour compiler options
# (GNU make compatible envvar)
#.KEEP
.AUTODEPEND
.SUFFIXES:
@@ -34,7 +27,63 @@
HB_ROOT = ..\..
!endif
!include $(HB_ROOT)\contrib\mtpl_defs.mak
#**********************************************************
!ifndef ECHO
ECHO = echo
!endif
!ifndef DEL
DEL = del
!endif
#**********************************************************
# binary file suffixes and prefixes
#**********************************************************
!ifndef OBJEXT
OBJEXT = .obj
!endif
!ifndef LIBEXT
LIBEXT = .lib
!endif
#**********************************************************
.SUFFIXES: $(LIBEXT) $(OBJEXT) .prg .c .cpp .asm
#**********************************************************
# Install directory defaults.
#**********************************************************
!ifndef HB_INSTALL_PREFIX
HB_INSTALL_PREFIX = $(HB_ROOT)
!endif
!ifndef HB_BIN_INSTALL
HB_BIN_INSTALL = $(HB_INSTALL_PREFIX)\bin
!endif
!ifndef HB_INC_INSTALL
HB_INC_INSTALL = $(HB_INSTALL_PREFIX)\include
!endif
!ifndef HB_LIB_INSTALL
HB_LIB_INSTALL = $(HB_INSTALL_PREFIX)\lib
!endif
#**********************************************************
# Directory macros. These should never have to change.
#**********************************************************
OBJ_DIR = $(HB_ROOT)\obj\b32
LIB_DIR = $(HB_ROOT)\lib\b32
BIN_DIR = $(HB_ROOT)\bin\b32
INCLUDE_DIR = $(HB_ROOT)\include
#**********************************************************
# Macros to access Harbour executable and other goodies
#**********************************************************
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
#**********************************************************
# C compiler definition and C flags. These should never have to change.
@@ -50,11 +99,11 @@ MKLIB = tlib.exe
CFLAGS = -O2 $(CFLAGS)
!endif
CFLAGS = -I$(INCLUDE_DIR) -d $(C_USR) $(CFLAGS)
CFLAGS = -I$(INCLUDE_DIR) -d $(C_USR) $(CFLAGS)
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -v $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
LDFLAGS = $(LDFLAGS)
# This is needed, otherwise the libs may overflow when
# debug info is requested with -v -y
@@ -71,22 +120,20 @@ $(OBJ_DIR);\
#**********************************************************
# General *.c --> *.obj COMPILE rule for STATIC Libraries
{$(ALL_LIB_SRC_DIRS)}.c{$(OBJ_DIR)}$(OBJEXT):
echo $(CC) $(CLIBFLAGS) -o$@ $<
$(CC) $(CLIBFLAGS) -o$@ $<
$(CC) $(CLIBFLAGS) -o$@ $<
#**********************************************************
# General *.cpp --> *.obj COMPILE rule for STATIC Libraries
{$(ALL_LIB_SRC_DIRS)}.cpp{$(OBJ_DIR)}$(OBJEXT):
echo $(CC) $(CLIBFLAGS) -o$@ $<
$(CC) $(CLIBFLAGS) -o$@ $<
$(CC) $(CLIBFLAGS) -o$@ $<
#**********************************************************
# General *.prg --> *.obj COMPILE rule for STATIC Libraries
{$(ALL_LIB_SRC_DIRS)}.prg{$(DLL_OBJ_DIR)}$(OBJEXT):
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $**
$(CC) $(CLIBFLAGS) -o$@ $(OBJ_DIR)\$&.c
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $**
$(CC) $(CLIBFLAGS) -o$@ $(OBJ_DIR)\$&.c
#**********************************************************
# General Library BUILD rule - does not work
#{$(OBJ_DIR)}.obj{$(LIB_DIR)}.lib:
# IF EXIST "$@" $(DEL) "$@" > NUL
# if exist "$@" $(DEL) "$@" > NUL
# $(MKLIB) "$@" $(ARFLAGS) @&&!
#+$(**: = &^
#+)
@@ -99,8 +146,8 @@ ALL_HEADERS = $(PRG_HEADERS) $(C_HEADERS)
#**********************************************************
$(LIB_PATH) : $(LIB_OBJS)
IF EXIST "$(LIB_PATH)" $(DEL) "$(LIB_PATH)" > NUL
$(MKLIB) "$(LIB_PATH)" $(ARFLAGS) @&&!
if exist "$(LIB_PATH)" $(DEL) "$(LIB_PATH)" > NUL
$(MKLIB) "$(LIB_PATH)" $(ARFLAGS) @&&!
+$(**: = &^
+)
!
@@ -113,34 +160,33 @@ Clean: doClean
CLEAN: doClean
doClean:
@if exist $(LIB_PATH) $(DEL) $(LIB_PATH) > nul
@$(ECHO) @echo off > delone.bat
@$(ECHO) set >>setenv >> delone.bat
@$(ECHO) if """%%1""" == """""" goto skip >> delone.bat
@$(ECHO) if exist %%1.c $(DEL) %%1.c >> delone.bat
@$(ECHO) if exist %%1.obj $(DEL) %%1.obj >> delone.bat
@$(ECHO) :skip >> delone.bat
@type &&!
@%%COMSPEC%% /c delone.bat $(LIB_OBJS:.obj=^
@%%COMSPEC%% /c delone.bat )
! > delall.bat
@if exist delall.bat $(DEL) delall.bat > nul
@if exist delone.bat $(DEL) delone.bat > nul
@if exist delall.bat $(DEL) delall.bat > nul
@if exist $(LIB_PATH) $(DEL) $(LIB_PATH) > nul
@$(ECHO) @echo off > _hbdeloo.bat
@$(ECHO) if "%1" == "" goto SKIP >> _hbdeloo.bat
@$(ECHO) if exist %1.c $(DEL) %1.c >> _hbdeloo.bat
@$(ECHO) if exist %1.obj $(DEL) %1.obj >> _hbdeloo.bat
@$(ECHO) :SKIP >> _hbdeloo.bat
@type &&!
@call _hbdeloo.bat $(LIB_OBJS:.obj=^
@call _hbdeloo.bat )
! > _hbdeloa.bat
@_hbdeloa.bat
@if exist _hbdeloa.bat $(DEL) _hbdeloa.bat > nul
@if exist _hbdeloo.bat $(DEL) _hbdeloo.bat > nul
!if "$(HB_INSTALL_PREFIX)" == "$(HB_ROOT)"
@if exist $(HB_LIB_INSTALL)\$(LIBNAME)$(LIBEXT) $(DEL) $(HB_LIB_INSTALL)\$(LIBNAME)$(LIBEXT) > nul
@$(ECHO) @echo off > delone.bat
@$(ECHO) if """%%1""" == """""" goto skip >> delone.bat
@$(ECHO) if exist $(HB_INC_INSTALL)\%%1 $(DEL) $(HB_INC_INSTALL)\%%1 >> delone.bat
@$(ECHO) :skip >> delone.bat
@type &&!
@%%COMSPEC%% /c delone.bat $(ALL_HEADERS: =^
@%%COMSPEC%% /c delone.bat )
! > delall.bat
@if exist delall.bat $(DEL) delall.bat > nul
@if exist delone.bat $(DEL) delone.bat > nul
@if exist delall.bat $(DEL) delall.bat > nul
@if exist $(HB_LIB_INSTALL)\$(LIBNAME)$(LIBEXT) $(DEL) $(HB_LIB_INSTALL)\$(LIBNAME)$(LIBEXT) > nul
@$(ECHO) @echo off > _hbdelho.bat
@$(ECHO) if "%1" == "" goto SKIP >> _hbdelho.bat
@$(ECHO) if exist $(HB_INC_INSTALL)\%1 $(DEL) $(HB_INC_INSTALL)\%1 >> _hbdelho.bat
@$(ECHO) :SKIP >> _hbdelho.bat
@type &&!
@call _hbdelho.bat $(ALL_HEADERS: =^
@call _hbdelho.bat )
! > _hbdelha.bat
@_hbdelha.bat
@if exist _hbdelha.bat $(DEL) _hbdelha.bat > nul
@if exist _hbdelho.bat $(DEL) _hbdelho.bat > nul
!endif
#**********************************************************
@@ -152,17 +198,26 @@ Install: doInstall
INSTALL: doInstall
doInstall:
@if exist $(LIB_PATH) copy $(LIB_PATH) $(HB_LIB_INSTALL) > nul
@$(ECHO) @echo off > cpyone.bat
@$(ECHO) if """%%1""" == """""" goto skip >> cpyone.bat
@$(ECHO) if exist %%1 copy %%1 $(HB_INC_INSTALL) >> cpyone.bat
@$(ECHO) :skip >> cpyone.bat
@<<cpyall.bat
@%%COMSPEC%% /c cpyone.bat $(ALL_HEADERS: =^
@%%COMSPEC%% /c cpyone.bat )
<<KEEP
@if exist cpyall.bat $(DEL) cpyall.bat > nul
@if exist cpyone.bat $(DEL) cpyone.bat > nul
@if exist cpyall.bat $(DEL) cpyall.bat > nul
@type &&!
@echo off
if not exist $(LIB_PATH) goto SKIP
if exist $(HB_LIB_INSTALL)\$(LIBNAME)$(LIBEXT) $(DEL) $(HB_LIB_INSTALL)\$(LIBNAME)$(LIBEXT) > nul
copy $(LIB_PATH) $(HB_LIB_INSTALL) > nul
:SKIP
! > _hbcpyla.bat
@_hbcpyla.bat
@if exist _hbcpyla.bat $(DEL) _hbcpyla.bat > nul
@$(ECHO) @echo off > _hbcpyho.bat
@$(ECHO) if "%1" == "" goto SKIP >> _hbcpyho.bat
@$(ECHO) if exist $(HB_INC_INSTALL)\%1 $(DEL) $(HB_INC_INSTALL)\%1 >> _hbcpyho.bat
@$(ECHO) if exist %1 copy %1 $(HB_INC_INSTALL) >> _hbcpyho.bat
@$(ECHO) :SKIP >> _hbcpyho.bat
@type &&!
@call _hbcpyho.bat $(ALL_HEADERS: =^
@call _hbcpyho.bat )
! > _hbcpyha.bat
@_hbcpyha.bat
@if exist _hbcpyha.bat $(DEL) _hbcpyha.bat > nul
@if exist _hbcpyho.bat $(DEL) _hbcpyho.bat > nul
#**********************************************************

View File

@@ -1,73 +0,0 @@
#
# $Id$
#
# --------------------------------------------------------
# Makefile common section for Harbour Project Contrib libs
# for Microsoft Visual C/Borland C/C++ - definitions
# -----------------------------------------------------------------
# ---------------------------------------------------------------
# Copyright 1999-2001 Viktor Szakats <viktor.szakats@syenar.hu>
# See doc/license.txt for licensing terms.
# ---------------------------------------------------------------
#**********************************************************
!ifndef ECHO
ECHO = echo
!endif
!ifndef DEL
DEL = del
!endif
#**********************************************************
# binary file suffixes and prefixes
#**********************************************************
!ifndef OBJEXT
OBJEXT = .obj
!endif
!ifndef LIBEXT
LIBEXT = .lib
!endif
#**********************************************************
.SUFFIXES: $(LIBEXT) $(OBJEXT) .prg .c .cpp .asm
#**********************************************************
# Install directory defaults.
#**********************************************************
!ifndef HB_INSTALL_PREFIX
HB_INSTALL_PREFIX = $(HB_ROOT)
!endif
!ifndef HB_BIN_INSTALL
HB_BIN_INSTALL = $(HB_INSTALL_PREFIX)\bin
!endif
!ifndef HB_INC_INSTALL
HB_INC_INSTALL = $(HB_INSTALL_PREFIX)\include
!endif
!ifndef HB_LIB_INSTALL
HB_LIB_INSTALL = $(HB_INSTALL_PREFIX)\lib
!endif
#**********************************************************
# Directory macros. These should never have to change.
#**********************************************************
OBJ_DIR = $(HB_ROOT)\obj\$(HB_CC_NAME)
LIB_DIR = $(HB_ROOT)\lib\$(HB_CC_NAME)
BIN_DIR = $(HB_ROOT)\bin\$(HB_CC_NAME)
INCLUDE_DIR = $(HB_ROOT)\include
#**********************************************************
# Macros to access Harbour executable and other goodies
#**********************************************************
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
#**********************************************************

View File

@@ -15,54 +15,46 @@ rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_CC_NAME%" == "" set HB_CC_NAME=vc
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
if "%HB_SHOW_ERRORS%" == "" set HB_SHOW_ERRORS=yes
set HB_MAKEFILE=..\mtpl_%HB_CC_NAME%.mak
set _HB_CC_NAME=%HB_CC_NAME%
set _HB_MAKE_PROGRAM=%HB_MAKE_PROGRAM%
set _HB_SHOW_ERRORS=%HB_SHOW_ERRORS%
rem ---------------------------------------------------------------
rem Save the user value, force silent file overwrite with COPY
rem (not all Windows versions support the COPY /Y flag)
set HB_ORGENV_COPYCMD=%COPYCMD%
set COPYCMD=/Y
if "%_HB_CC_NAME%" == "" set _HB_CC_NAME=vc
if "%_HB_MAKE_PROGRAM%" == "" set _HB_MAKE_PROGRAM=nmake.exe
if "%_HB_SHOW_ERRORS%" == "" set _HB_SHOW_ERRORS=yes
set HB_MAKEFILE=..\mtpl_%_HB_CC_NAME%.mak
set HB_EXIT_LEVEL=
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "Clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "Install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%HB_CC_NAME%.log
if errorlevel 1 if "%HB_SHOW_ERRORS%" == "yes" notepad make_%HB_CC_NAME%.log
%_HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% %1 %2 %3 > make_%_HB_CC_NAME%.log
if errorlevel 1 set HB_EXIT_LEVEL=1
if errorlevel 1 if "%_HB_SHOW_ERRORS%" == "yes" notepad make_%_HB_CC_NAME%.log
goto EXIT
:CLEAN
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%HB_CC_NAME%.log
%_HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% CLEAN > make_%_HB_CC_NAME%.log
if errorlevel 1 set HB_EXIT_LEVEL=1
if errorlevel 1 goto EXIT
if exist make_%HB_CC_NAME%.log del make_%HB_CC_NAME%.log > nul
if exist inst_%HB_CC_NAME%.log del inst_%HB_CC_NAME%.log > nul
if exist make_%_HB_CC_NAME%.log del make_%_HB_CC_NAME%.log > nul
if exist inst_%_HB_CC_NAME%.log del inst_%_HB_CC_NAME%.log > nul
goto EXIT
:INSTALL
%HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
%_HB_MAKE_PROGRAM% %HB_MAKE_FLAGS% -f %HB_MAKEFILE% INSTALL > nul
if errorlevel 1 set HB_EXIT_LEVEL=1
if errorlevel 1 goto EXIT
goto EXIT
:EXIT
rem ---------------------------------------------------------------
rem Restore user value
set COPYCMD=%HB_ORGENV_COPYCMD%
if "%HB_EXIT_LEVEL%" == "1" exit 1

View File

@@ -8,26 +8,15 @@
# --------------------------------------------------------
# ---------------------------------------------------------------
# Copyright 1999-2001 Viktor Szakats <viktor.szakats@syenar.hu>
# Copyright 2007 Marek Paliwoda (mpaliwoda "at" interia "dot" pl)
# See doc/license.txt for licensing terms.
# ---------------------------------------------------------------
# NOTE: You can use these envvars to configure the make process:
# (note that these are all optional)
# NOTE: You can use these optional envvars to configure the make process:
#
# C_USR - Extra C compiler options for libraries
# PRG_USR - Extra Harbour compiler options
#
# CFLAGS - Extra C compiler options for libraries and for
# executables
# C_USR - Extra C compiler options for libraries and for
# executables (GNU make compatible envvar)
# CLIBFLAGS - Extra C compiler options for the libraries
# HARBOURFLAGS - Extra Harbour compiler options
# PRG_USR - Extra Harbour compiler options
# (GNU make compatible envvar)
# Visual C++ version
!ifndef HB_VISUALC_VER
HB_VISUALC_VER = 60
!endif
#**********************************************************
@@ -35,7 +24,63 @@ HB_VISUALC_VER = 60
HB_ROOT = ..\..
!endif
!include $(HB_ROOT)\contrib\mtpl_defs.mak
#**********************************************************
!ifndef ECHO
ECHO = echo
!endif
!ifndef DEL
DEL = del
!endif
#**********************************************************
# binary file suffixes and prefixes
#**********************************************************
!ifndef OBJEXT
OBJEXT = .obj
!endif
!ifndef LIBEXT
LIBEXT = .lib
!endif
#**********************************************************
.SUFFIXES: $(LIBEXT) $(OBJEXT) .prg .c .cpp .asm
#**********************************************************
# Install directory defaults.
#**********************************************************
!ifndef HB_INSTALL_PREFIX
HB_INSTALL_PREFIX = $(HB_ROOT)
!endif
!ifndef HB_BIN_INSTALL
HB_BIN_INSTALL = $(HB_INSTALL_PREFIX)\bin
!endif
!ifndef HB_INC_INSTALL
HB_INC_INSTALL = $(HB_INSTALL_PREFIX)\include
!endif
!ifndef HB_LIB_INSTALL
HB_LIB_INSTALL = $(HB_INSTALL_PREFIX)\lib
!endif
#**********************************************************
# Directory macros. These should never have to change.
#**********************************************************
OBJ_DIR = $(HB_ROOT)\obj\vc
LIB_DIR = $(HB_ROOT)\lib\vc
BIN_DIR = $(HB_ROOT)\bin\vc
INCLUDE_DIR = $(HB_ROOT)\include
#**********************************************************
# Macros to access Harbour executable and other goodies
#**********************************************************
HARBOUR_EXE = $(BIN_DIR)\harbour.exe
#**********************************************************
# C compiler definition and C flags. These should never have to change.
@@ -47,11 +92,11 @@ MKLIB = lib.exe
#**********************************************************
CFLAGS = -I$(INCLUDE_DIR) -W3 -nologo $(C_USR) $(CFLAGS)
CFLAGS = -I$(INCLUDE_DIR) -W3 -nologo $(C_USR) $(CFLAGS)
CLIBFLAGS = -c $(CFLAGS) $(CLIBFLAGS)
CLIBFLAGSDEBUG = -Zi $(CLIBFLAGS)
HARBOURFLAGS = -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS)
LDFLAGS = $(LDFLAGS)
LDFLAGS = $(LDFLAGS)
#**********************************************************
# COMPILE Rules
@@ -60,20 +105,20 @@ LDFLAGS = $(LDFLAGS)
#**********************************************************
# General *.c --> *.obj COMPILE rule for STATIC Libraries
{.}.c{$(OBJ_DIR)}$(OBJEXT)::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
#**********************************************************
# General *.cpp --> *.obj COMPILE rule for STATIC Libraries
{.}.cpp{$(OBJ_DIR)}$(OBJEXT)::
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
#**********************************************************
# General *.prg --> *.obj COMPILE rule for STATIC Libraries
{.}.prg{$(OBJ_DIR)}$(OBJEXT):
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\$(*B).c
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $<
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\$(*B).c
#**********************************************************
# General Library BUILD rule - does not work
#{$(OBJ_DIR)}$(OBJEXT){$(LIB_PATH)}.lib:
# IF EXIST "$@" $(DEL) "$@" > nul
# if exist "$@" $(DEL) "$@" > nul
# $(MKLIB) /out:$@ @<<
#$**
#<<$(KEEPSTATE)
@@ -85,8 +130,8 @@ ALL_HEADERS = $(PRG_HEADERS) $(C_HEADERS)
#**********************************************************
$(LIB_PATH) : $(LIB_OBJS)
IF EXIST "$@" $(DEL) "$@" > nul
$(MKLIB) /out:$@ @<<
if exist "$@" $(DEL) "$@" > nul
$(MKLIB) /out:$@ @<<
$**
<<$(KEEPSTATE)
#**********************************************************
@@ -98,34 +143,33 @@ Clean: doClean
CLEAN: doClean
doClean:
@if exist $(LIB_PATH) $(DEL) $(LIB_PATH) > nul
@$(ECHO) @echo off > delone.bat
@$(ECHO) set >>setenv >> delone.bat
@$(ECHO) if """%%1""" == """""" goto skip >> delone.bat
@$(ECHO) if exist %%1.c $(DEL) %%1.c >> delone.bat
@$(ECHO) if exist %%1.obj $(DEL) %%1.obj >> delone.bat
@$(ECHO) :skip >> delone.bat
@<<delall.bat
@%COMSPEC% /c delone.bat $(LIB_OBJS:.obj=^
@%COMSPEC% /c delone.bat )
@if exist $(LIB_PATH) $(DEL) $(LIB_PATH) > nul
@$(ECHO) @echo off > _hbdeloo.bat
@$(ECHO) if "%1" == "" goto SKIP >> _hbdeloo.bat
@$(ECHO) if exist %1.c $(DEL) %1.c >> _hbdeloo.bat
@$(ECHO) if exist %1.obj $(DEL) %1.obj >> _hbdeloo.bat
@$(ECHO) :SKIP >> _hbdeloo.bat
<<_hbdeloa.bat
@call _hbdeloo.bat $(LIB_OBJS:.obj=^
@call _hbdeloo.bat )
<<KEEP
@if exist delall.bat $(DEL) delall.bat > nul
@if exist delone.bat $(DEL) delone.bat > nul
@if exist delall.bat $(DEL) delall.bat > nul
@_hbdeloa.bat
@if exist _hbdeloa.bat $(DEL) _hbdeloa.bat > nul
@if exist _hbdeloo.bat $(DEL) _hbdeloo.bat > nul
!if "$(HB_INSTALL_PREFIX)" == "$(HB_ROOT)"
@if exist $(HB_LIB_INSTALL)\$(LIBNAME)$(LIBEXT) $(DEL) $(HB_LIB_INSTALL)\$(LIBNAME)$(LIBEXT) > nul
@$(ECHO) @echo off > delone.bat
@$(ECHO) if """%%1""" == """""" goto skip >> delone.bat
@$(ECHO) if exist $(HB_INC_INSTALL)\%%1 $(DEL) $(HB_INC_INSTALL)\%%1 >> delone.bat
@$(ECHO) :skip >> delone.bat
@<<delall.bat
@%COMSPEC% /c delone.bat $(ALL_HEADERS: =^
@%COMSPEC% /c delone.bat )
@if exist $(HB_LIB_INSTALL)\$(LIBNAME)$(LIBEXT) $(DEL) $(HB_LIB_INSTALL)\$(LIBNAME)$(LIBEXT) > nul
@$(ECHO) @echo off > _hbdelho.bat
@$(ECHO) if "%1" == "" goto SKIP >> _hbdelho.bat
@$(ECHO) if exist $(HB_INC_INSTALL)\%1 $(DEL) $(HB_INC_INSTALL)\%1 >> _hbdelho.bat
@$(ECHO) :SKIP >> _hbdelho.bat
<<_hbdelha.bat
@call _hbdelho.bat $(ALL_HEADERS: =^
@call _hbdelho.bat )
<<KEEP
@if exist delall.bat $(DEL) delall.bat > nul
@if exist delone.bat $(DEL) delone.bat > nul
@if exist delall.bat $(DEL) delall.bat > nul
@_hbdelha.bat
@if exist _hbdelha.bat $(DEL) _hbdelha.bat > nul
@if exist _hbdelho.bat $(DEL) _hbdelho.bat > nul
!endif
#**********************************************************
@@ -137,17 +181,26 @@ Install: doInstall
INSTALL: doInstall
doInstall:
@if exist $(LIB_PATH) copy $(LIB_PATH) $(HB_LIB_INSTALL) > nul
@$(ECHO) @echo off > cpyone.bat
@$(ECHO) if """%%1""" == """""" goto skip >> cpyone.bat
@$(ECHO) if exist %%1 copy %%1 $(HB_INC_INSTALL) >> cpyone.bat
@$(ECHO) :skip >> cpyone.bat
@<<cpyall.bat
@%COMSPEC% /c cpyone.bat $(ALL_HEADERS: =^
@%COMSPEC% /c cpyone.bat )
<<_hbcpyla.bat
@echo off
if not exist $(LIB_PATH) goto SKIP
if exist $(HB_LIB_INSTALL)\$(LIBNAME)$(LIBEXT) $(DEL) $(HB_LIB_INSTALL)\$(LIBNAME)$(LIBEXT) > nul
copy $(LIB_PATH) $(HB_LIB_INSTALL) > nul
:SKIP
<<KEEP
@if exist cpyall.bat $(DEL) cpyall.bat > nul
@if exist cpyone.bat $(DEL) cpyone.bat > nul
@if exist cpyall.bat $(DEL) cpyall.bat > nul
@_hbcpyla.bat
@if exist _hbcpyla.bat $(DEL) _hbcpyla.bat > nul
@$(ECHO) @echo off > _hbcpyho.bat
@$(ECHO) if "%1" == "" goto SKIP >> _hbcpyho.bat
@$(ECHO) if exist $(HB_INC_INSTALL)\%1 $(DEL) $(HB_INC_INSTALL)\%1 >> _hbcpyho.bat
@$(ECHO) if exist %1 copy %1 $(HB_INC_INSTALL) >> _hbcpyho.bat
@$(ECHO) :SKIP >> _hbcpyho.bat
<<_hbcpyha.bat
@call _hbcpyho.bat $(ALL_HEADERS: =^
@call _hbcpyho.bat )
<<KEEP
@_hbcpyha.bat
@if exist _hbcpyha.bat $(DEL) _hbcpyha.bat > nul
@if exist _hbcpyho.bat $(DEL) _hbcpyho.bat > nul
#**********************************************************

View File

@@ -37,9 +37,10 @@ set COPYCMD=/Y
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "Clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "Install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD

View File

@@ -37,9 +37,10 @@ set COPYCMD=/Y
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "Clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "Install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD

View File

@@ -28,7 +28,7 @@ if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=nmake.exe
if "%HB_SHOW_ERRORS%" == "" set HB_SHOW_ERRORS=yes
set HB_MAKEFILE=make_%HB_CC_NAME%.mak
set C_USR=%C_USR% -DHB_NO_WIN_CONSOLE
set CFLAGS=%C_USR% -DHB_NO_WIN_CONSOLE
rem ---------------------------------------------------------------
@@ -40,9 +40,10 @@ set COPYCMD=/Y
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
if "%1" == "Clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN
if "%1" == "install" goto INSTALL
if "%1" == "Install" goto INSTALL
if "%1" == "INSTALL" goto INSTALL
:BUILD

View File

@@ -5500,7 +5500,7 @@ LOCAL aLang := Array( 67 )
aLang[24] := " /l[LANGID] Specify the language to be used on hbmake"
aLang[25] := " LANGID= (EN/PT/ES). On Windows, the default will be the S.O."
aLang[26] := " language. On OS/2, FreeBSD and LINUX will be English."
aLang[27] := "Enviroment options"
aLang[27] := "Environment options"
aLang[28] := "Select the OS"
aLang[29] := "Select the C Compiler"
aLang[30] := "Graph Lib"