249 lines
6.7 KiB
Makefile
249 lines
6.7 KiB
Makefile
#-------------------------------------------------------------------------------
|
|
# package creation for JEDI Visual Component Library (and JVCLX)
|
|
#-------------------------------------------------------------------------------
|
|
|
|
!ifndef ROOT
|
|
ROOT = $(MAKEDIR)\..
|
|
!endif
|
|
|
|
!ifndef JCLROOT
|
|
JCLROOT = ..\..\..\jcl
|
|
!endif
|
|
|
|
!ifndef BPLDIR
|
|
BPLDIR = $(ROOT)\Projects\bpl
|
|
!endif
|
|
|
|
!ifndef DCPDIR
|
|
DCPDIR = $(ROOT)\Projects\bpl
|
|
!endif
|
|
|
|
!ifndef LIBDIR
|
|
LIBDIR = $(ROOT)\Projects\lib
|
|
!endif
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
!ifndef EDITION
|
|
!error You must specify a EDITION: make -DEDITION=d6 or make -DEDITION=d5p (Packages Generator)
|
|
!endif
|
|
|
|
!ifndef VERSION
|
|
!error You must specify a VERSION: make -DVERSION=6
|
|
!endif
|
|
|
|
!ifndef PKGDIR
|
|
!error You must specify a PKGDIR: make -DPKGDIR=d6 or make -DPKGDIR=d5std (\packages\* Packages.bpg)
|
|
!endif
|
|
|
|
!ifndef UNITOUTDIR
|
|
!error You must specify a UNITOUTDIR: make -DUNITOUTDIR=C:\jvclfolder\lib\d7
|
|
!endif
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
JVCLPACKAGEDIR = ..
|
|
!ifndef JVCLROOT
|
|
JVCLROOT = $(JVCLPACKAGEDIR)\..
|
|
!endif
|
|
DEVTOOLS = $(JVCLROOT)\devtools
|
|
DEVTOOLS_BACK = ..\packages\bin
|
|
|
|
#CONFIGFILENAME=template.cfg
|
|
CONFIGFILENAME=dcc32.cfg
|
|
CFGFILE=..\$(PKGDIR)\$(CONFIGFILENAME)
|
|
|
|
!ifndef PERSONALEDITION_OPTION
|
|
# It is not allowed to be empty
|
|
PERSONALEDITION_OPTION =
|
|
!endif
|
|
|
|
!ifdef DXGETTEXTDIR
|
|
DXGETTEXT=-DUSE_DXGETTEXT
|
|
!else
|
|
DXGETTEXT=
|
|
!endif
|
|
|
|
!ifndef UNITDIRS
|
|
UNITDIRS=.
|
|
!endif
|
|
|
|
!ifndef EXTRAUNITDIRS
|
|
EXTRAUNITDIRS=.
|
|
!endif
|
|
!ifndef EXTRAINCLUDEDIRS
|
|
EXTRAINCLUDEDIRS=.
|
|
!endif
|
|
!ifndef EXTRARESDIRS
|
|
EXTRARESDIRS=.
|
|
!endif
|
|
|
|
!ifndef DCCOPT
|
|
DCCOPT=-Q -M
|
|
!endif
|
|
|
|
MAKE = "$(ROOT)\bin\make.exe" -l+
|
|
# -$(MAKEFLAGS)
|
|
DCC = "$(ROOT)\bin\dcc32.exe" $(DCCOPT)
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
JCLSOURCEDIRS1=$(JCLROOT)\source\common;$(JCLROOT)\source\windows
|
|
JCLSOURCEDIRS2=$(JCLROOT)\source\vcl;$(JCLROOT)\source\visclx
|
|
JCLINCLUDEDIRS=$(JCLROOT)\source;$(JCLROOT)\source\common
|
|
|
|
JVCLSOURCEDIRS1=$(JVCLROOT)\common;$(JVCLROOT)\run;$(JVCLROOT)\design
|
|
JVCLSOURCEDIRS2=$(JVCLROOT)\qcommon;$(JVCLROOT)\qrun;$(JVCLROOT)\qdesign
|
|
JVCLINCLUDEDIRS=$(JVCLROOT)\common
|
|
JVCLRESDIRS=$(JVCLROOT)\Resources
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
default: \
|
|
Resources \
|
|
pg.exe \
|
|
Compile \
|
|
Clean
|
|
|
|
################################################################################
|
|
Resources:
|
|
cd ..\..\images
|
|
$(MAKE) -f makefile.mak
|
|
cd ..\packages\bin
|
|
|
|
################################################################################
|
|
Bpg2Make.exe:
|
|
@echo [Compiling: Bpg2Make.exe]
|
|
@cd $(DEVTOOLS)
|
|
$(MAKE) $(QUIET) -f makefile.mak Bpg2Make.exe
|
|
@cd $(DEVTOOLS_BACK)
|
|
@IF EXIST "..\$(PKGDIR) Packages.bpg" "$(DEVTOOLS)\bin\Bpg2Make.exe" "..\$(PKGDIR) Packages.bpg"
|
|
@IF EXIST "..\$(PKGDIR) Packages.bdsgroup" "$(DEVTOOLS)\bin\Bpg2Make.exe" "..\$(PKGDIR) Packages.bdsgroup"
|
|
|
|
################################################################################
|
|
GenerateAllPackages:
|
|
@echo [Compiling: pg.exe]
|
|
@cd $(DEVTOOLS)
|
|
$(MAKE) $(QUIET) -f makefile.mak pg.exe
|
|
@cd $(DEVTOOLS_BACK)
|
|
@echo [Generating: JVCL Packages]
|
|
"$(DEVTOOLS)\bin\pg.exe" -m=JVCL -p="$(JVCLPACKAGEDIR)" -x="$(DEVTOOLS)\bin\pgEdit.xml"
|
|
|
|
################################################################################
|
|
GeneratePackages:
|
|
@echo [Compiling: pg.exe]
|
|
@cd $(DEVTOOLS)
|
|
$(MAKE) $(QUIET) -f makefile.mak pg.exe
|
|
@cd $(DEVTOOLS_BACK)
|
|
@echo [Generating: JVCL Packages]
|
|
"$(DEVTOOLS)\bin\pg.exe" -m=JVCL -p="$(JVCLPACKAGEDIR)" -t=$(EDITION) -x="$(DEVTOOLS)\bin\pgEdit.xml"
|
|
@IF NOT $(MASTEREDITION)! == ! $(DEVTOOLS)\bin\pg.exe -m=JVCL -p="$(JVCLPACKAGEDIR)" -t=$(MASTEREDITION) -x=$(DEVTOOLS)\bin\pgEdit.xml
|
|
|
|
################################################################################
|
|
pg.exe: Templates GeneratePackages
|
|
# do nothing
|
|
|
|
################################################################################
|
|
configfile:
|
|
# create dcc32.cfg file
|
|
@echo Writing: $(CFG)
|
|
-@IF EXIST "$(CFG)" del /q "$(CFG)"
|
|
-@IF EXIST "$(ROOT)\bin\dcc32.cfg" type "$(ROOT)\bin\dcc32.cfg" >>"$(CFG)"
|
|
@type &&|
|
|
|
|
-Q
|
|
-U"$(ROOT)\Lib"
|
|
-U"$(ROOT)\Lib\Obj"
|
|
-R"$(ROOT)\Lib"
|
|
-I"$(ROOT)\Include"
|
|
-I"$(ROOT)\Include\Vcl"
|
|
-U"$(DCPDIR)"
|
|
-U"$(LIBDIR)"
|
|
|
|
-I"$(JCLINCLUDEDIRS)"
|
|
-U"$(JCLSOURCEDIRS1)"
|
|
-U"$(JCLSOURCEDIRS2)"
|
|
|
|
-I"$(JVCLINCLUDEDIRS)"
|
|
-U"$(UNITOUTDIR)"
|
|
-U"$(LIBDIR)"
|
|
-U"$(MAINBPLDIR)"
|
|
-U"$(MAINDCPDIR)"
|
|
-U"$(MAINLIBDIR)"
|
|
-U"$(JVCLSOURCEDIRS1)"
|
|
-U"$(JVCLSOURCEDIRS2)"
|
|
-R"$(JVCLRESDIRS)"
|
|
-R"$(MAINLIBDIR)"
|
|
|
|
-U"$(EXTRAUNITDIRS)"
|
|
-I"$(EXTRAINCLUDEDIRS)"
|
|
-R"$(EXTRARESDIRS)"
|
|
|
|
-U"$(UNITDIRS)"
|
|
-R"$(UNITDIRS)"
|
|
| >>"$(CFG)"
|
|
|
|
################################################################################
|
|
Templates:
|
|
@echo [Generating: Templates]
|
|
@$(MAKE) $(QUIET) -f makefile.mak "-DCFG=$(CFGFILE)" configfile
|
|
@type &&|
|
|
|
|
-LE"$(BPLDIR)"
|
|
-LN"$(DCPDIR)"
|
|
$(PERSONALEDITION_OPTION)
|
|
-N"$(UNITOUTDIR)"
|
|
-N1"$(HPPDIR)"
|
|
-N2"$(UNITOUTDIR)\obj"
|
|
| >>"$(CFGFILE)"
|
|
@IF NOT $(MASTEREDITION)! == ! @copy "$(CFGFILE)" "$(PKGDIR_MASTEREDITION)\$(CONFIGFILENAME)"
|
|
|
|
################################################################################
|
|
Compile: Bpg2Make.exe CompilePackages
|
|
|
|
################################################################################
|
|
CompilePackages:
|
|
@echo [Compiling: Packages]
|
|
@cd $(JVCLPACKAGEDIR)
|
|
$(MAKE) $(QUIET) $(MAKEOPTIONS) -f "$(PKGDIR) Packages.mak" $(TARGETS)
|
|
@cd bin
|
|
|
|
################################################################################
|
|
Clean:
|
|
@echo [Cleaning...]
|
|
@cd $(JVCLROOT)\packages
|
|
-del /q "$(PKGDIR) Packages.mak"
|
|
-del /q "$(PKGDIR)\*.cfg" "$(PKGDIR)\*.mak"
|
|
-@IF NOT "$(PKGDIR_MASTEREDITION)!" == "!" del /q "$(PKGDIR_MASTEREDITION)\*.mak"
|
|
@cd bin
|
|
|
|
################################################################################
|
|
MOs:
|
|
@echo [Generating MO files]
|
|
cd ..\..\locale
|
|
IF NOT $(DXGETTEXT)! == ! $(MAKE) $(QUIET) -f ..\packages\bin\mofiles.mak
|
|
cd ..\packages\bin
|
|
|
|
################################################################################
|
|
Installer: MOs Installer_nomo
|
|
|
|
################################################################################
|
|
Installer_nomo:
|
|
@echo [Compiling: Installer]
|
|
$(MAKE) $(QUIET) "-DCFG=..\..\install\JVCLInstall\JVCLInstall.cfg" configfile
|
|
@cd ..\..\install\JVCLInstall
|
|
type &&|
|
|
|
|
-E"$(JVCLROOT)\bin"
|
|
-N"$(JVCLROOT)\dcu"
|
|
-DNO_JCL
|
|
-DNO_UNITVERSIONING
|
|
-DUSE_DXGETTEXT
|
|
-DDEFAULT_JVCL_INC
|
|
| >>JVCLInstall.cfg
|
|
$(DCC) -B $(DXGETTEXT) -DNO_JCL JVCLInstall.dpr
|
|
start ..\..\bin\JVCLInstall.exe $(INSTALLOPTIONS)
|
|
|
|
|
|
################################################################################
|