#------------------------------------------------------------------------------- # 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) ################################################################################