⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile.mak

📁 East make Tray Icon in delphi
💻 MAK
字号:
#-------------------------------------------------------------------------------
# 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 = -DDUMMYDUMMY
!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: \
	BuildJCLdcpFiles \
	Resources \
	pg.exe \
	Compile \
	Clean

################################################################################
BuildJCLdcpFiles:
	IF NOT EXIST "$(DCPDIR)\CJcl*.dcp" $(MAKE) $(QUIET) BuildJCLdcpFilesForce

################################################################################
BuildJCLdcpFilesForce:
	# for C++ targets compile JCL .dcp files
	IF EXIST "$(ROOT)\bin\bcc32.exe" $(MAKE) $(QUIET) -f MakeJCLDcp4BCB.mak

################################################################################
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)"
	@echo. >>"$(CFG)"
	@echo -Q>>"$(CFG)"
	@echo -U"$(ROOT)\Lib">>"$(CFG)"
	@echo -U"$(ROOT)\Lib\Obj">>"$(CFG)"
	@echo -R"$(ROOT)\Lib">>"$(CFG)"
	@echo -I"$(ROOT)\Include">>"$(CFG)"
	@echo -I"$(ROOT)\Include\Vcl">>"$(CFG)"
	@echo -U"$(DCPDIR)">>"$(CFG)"
	@echo -U"$(LIBDIR)">>"$(CFG)"
	#
	@echo -I"$(JCLINCLUDEDIRS)">>"$(CFG)"
	@echo -U"$(JCLSOURCEDIRS1)">>"$(CFG)"
	@echo -U"$(JCLSOURCEDIRS2)">>"$(CFG)"
	#
	@echo -I"$(JVCLINCLUDEDIRS)">>"$(CFG)"
	@echo -U"$(UNITOUTDIR)">>"$(CFG)"
	@echo -U"$(LIBDIR)">>"$(CFG)"
	@echo -U"$(JVCLSOURCEDIRS1)">>"$(CFG)"
	@echo -U"$(JVCLSOURCEDIRS2)">>"$(CFG)"
	@echo -R"$(JVCLRESDIRS)">>"$(CFG)"
	#
	@echo -U"$(EXTRAUNITDIRS)">>"$(CFG)"
	@echo -I"$(EXTRAINCLUDEDIRS)">>"$(CFG)"
	@echo -R"$(EXTRARESDIRS)">>"$(CFG)"
	#
	@echo -U"$(UNITDIRS)">>"$(CFG)"
	@echo -R"$(UNITDIRS)">>"$(CFG)"


################################################################################
Templates:
	@echo [Generating: Templates]
	@$(MAKE) $(QUIET) -f makefile.mak "-DCFG=$(CFGFILE)" configfile
	#
	@echo -LE"$(BPLDIR)">>"$(CFGFILE)"
	@echo -LN"$(DCPDIR)">>"$(CFGFILE)"
	@echo $(PERSONALEDITION_OPTION)>>"$(CFGFILE)"
	#
	@echo -N"$(UNITOUTDIR)">>"$(CFGFILE)"
	@echo -N1"$(HPPDIR)">>"$(CFGFILE)"
	@echo -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
	#
	@echo -E"$(JVCLROOT)\bin">>JVCLInstall.cfg
	@echo -N"$(JVCLROOT)\dcu">>JVCLInstall.cfg
	@echo -DNO_JCL>>JVCLInstall.cfg
	@echo -DNO_UNITVERSIONING>>JVCLInstall.cfg
	@echo -DUSE_DXGETTEXT>>JVCLInstall.cfg
	@echo -DDEFAULT_JVCL_INC>>JVCLInstall.cfg
	#
	#
	$(DCC) -B $(DXGETTEXT) -DNO_JCL JVCLInstall.dpr
	start ..\..\bin\JVCLInstall.exe $(INSTALLOPTIONS)


################################################################################

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -