chore(developer): move windows common Makefiles to build scripts

Relates to #11317.
This commit is contained in:
Marc Durdin 2024-05-02 15:48:16 +07:00
parent 86c62ff36c
commit 2499ebf4bb
63 changed files with 681 additions and 1180 deletions

View file

@ -1,20 +0,0 @@
!include ..\delphi\Defines.mak
BUILDUNIDATA_PATH=$(KEYMAN_ROOT)\common\windows\delphi\tools\buildunidata
BUILDUNIDATA_PROGRAM=$(BUILDUNIDATA_PATH)\$(WIN32_TARGET_PATH)\buildunidata.exe
DATA_SOURCE=$(KEYMAN_ROOT)\resources\standards-data\unicode-character-database
DATABASE_PATH=$(KEYMAN_ROOT)\common\windows\bin\data
DATABASE_FILENAME=$(DATABASE_PATH)\unicodedata.mdb
build: buildunidata
-mkdir "$(DATABASE_PATH)"
# cd "$(KEYMAN_ROOT)\common\windows\data"
"$(BUILDUNIDATA_PROGRAM)" "$(DATA_SOURCE)" "$(DATABASE_FILENAME)"
clean:
-del "$(DATABASE_FILENAME)"
buildunidata:
cd "$(BUILDUNIDATA_PATH)"
$(MAKE) build

45
common/windows/data/build.sh Executable file
View file

@ -0,0 +1,45 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe \
"Build shared data" \
clean configure build test \
"@../delphi/tools/buildunidata"
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh \
build:project /common/windows/bin/data/unicodedata.mdb
#-------------------------------------------------------------------------------------------------------------------
BUILDUNIDATA_PATH="$KEYMAN_ROOT/common/windows/delphi/tools/buildunidata"
BUILDUNIDATA_PROGRAM="$BUILDUNIDATA_PATH/$WIN32_TARGET_PATH/buildunidata.exe"
DATA_SOURCE="$KEYMAN_ROOT/resources/standards-data/unicode-character-database"
DATABASE_PATH="$KEYMAN_ROOT/common/windows/bin/data"
DATABASE_FILENAME="$DATABASE_PATH/unicodedata.mdb"
function do_clean() {
rm -f "$DATABASE_FILENAME"
}
function do_build() {
mkdir -p "$DATABASE_PATH"
# For now, we need to use cygpath for these parameters due to OLE
# incompatibilities with forward-slash in paths.
"$BUILDUNIDATA_PROGRAM" "$(cygpath -w "$DATA_SOURCE")" "$(cygpath -w "$DATABASE_FILENAME")"
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
builder_run_action build:project do_build
# builder_run_action test:project do_test

View file

@ -1,9 +0,0 @@
!include Defines.mak
global-versions:
# Build our root version.txt; TODO: replace with build.sh deps
cd $(KEYMAN_ROOT)\common\windows
$(MKVER_U) $(KEYMAN_ROOT)\common\windows\delphi\general\keymanversion_build.in $(KEYMAN_ROOT)\common\windows\delphi\general\keymanversion_build.inc
$(GIT_BASH_FOR_KEYMAN) $(KEYMAN_ROOT)/common/include/build.sh clean configure build
!include Target.mak

21
common/windows/delphi/build.sh Executable file
View file

@ -0,0 +1,21 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe \
"Build Keyman Developer common files" \
clean configure build test \
:tools :components :ext :keymanversion
builder_parse "$@"
builder_run_child_actions clean configure build test
function do_build() {
"$KEYMAN_ROOT/common/windows/mkver.sh" "$KEYMAN_ROOT/common/windows/delphi/general/keymanversion_build.in" "$KEYMAN_ROOT/common/windows/delphi/general/keymanversion_build.inc"
# $(GIT_BASH_FOR_KEYMAN) $(KEYMAN_ROOT)/common/include/build.sh clean configure build
}
builder_run_action build:keymanversion do_build

View file

@ -1,44 +0,0 @@
#
# Common Delphi components Makefile
#
!include ..\Defines.mak
# ----------------------------------------------------------------------
all: common-components
build: common-components
# ----------------------------------------------------------------------
common-components: compile install
# $(COPY) keyman_components.bpl $(OUTLIB)
compile:
@-mkdir obj\Win32\$(TARGET_PATH)
$(COMMON_DCC32DPK) common_components.dpk
install:
$(DEVTOOLS) -ip $(COMMON_OUTLIB)\common_components.bpl
signcode:
@rem no signcode
symbols:
@rem no symbols
# ----------------------------------------------------------------------
# clean target
# ----------------------------------------------------------------------
clean: def-clean
-rd /s/q obj
# ----------------------------------------------------------------------
!include ..\Target.mak
# ----------------------------------------------------------------------
# EOF
# ----------------------------------------------------------------------

View file

@ -0,0 +1,34 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build Keyman common Delphi components" clean configure build test
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh \
build:project /common/windows/lib/common_components.bpl
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache
}
function do_build() {
mkdir -p obj/Win32/$TARGET_PATH
delphi_msbuild common_components.dproj "//p:Platform=Win32"
"$DEVTOOLS" -ip "$COMMON_OUTLIB/common_components.bpl"
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
builder_run_action build:project do_build
# builder_run_action test:project do_test

View file

@ -1,49 +0,0 @@
#
# Keyman ext Makefile - 3rd party components
#
NOTARGET_SIGNCODE=yes
!ifdef NODELPHI
TARGETS=.virtual
!else
TARGETS=cef4delphi dcpcrypt jwa tds2dbg
!endif
# jedi has no packages
CLEANS=
!include ..\Header.mak
# ----------------------------------------------------------------------
cef4delphi: .virtual
cd $(COMMON_ROOT)\ext\cef4delphi
$(MAKE) $(TARGET)
dcpcrypt: .virtual
cd $(COMMON_ROOT)\ext\dcpcrypt
$(MAKE) $(TARGET)
jwa: .virtual
cd $(COMMON_ROOT)\ext\jwa
$(MAKE) $(TARGET)
tds2dbg: .virtual
cd $(COMMON_ROOT)\ext\tds2dbg
$(MAKE) $(TARGET)
#
#
#
reset:
$(DEVTOOLS) -rp
$(DEVTOOLS) -ri
!include ..\Target.mak
# ----------------------------------------------------------------------
# EOF
# ----------------------------------------------------------------------

View file

@ -0,0 +1,24 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe \
"Build Keyman Developer third party components" \
clean configure build test reset \
:cef4delphi :dcpcrypt :jwa :sentry :tds2dbg
builder_parse "$@"
builder_run_child_actions clean configure build test
# Note: 'api', 'publish', 'install' actions are defined here for commonality with
# sibling projects but are no-ops
function do_reset() {
"$DEVTOOLS" -rp
"$DEVTOOLS" -ri
}
builder_run_action reset do_reset

View file

@ -1,22 +0,0 @@
#
# Cef4Delphi Makefile (Keyman)
#
!include ..\..\Defines.mak
build:
cd packages
@-mkdir obj\Win32\$(TARGET_PATH)
$(DCC32DPK) CEF4Delphi.dpk
cd ..
$(MAKE) install
install:
$(DEVTOOLS) -ip $(OUTLIB)\CEF4Delphi.bpl
$(DEVTOOLS) -ai $(KEYMAN_ROOT)\common\windows\delphi\ext\cef4delphi\source
clean: def-clean
$(CLEAN) packages\*.bpl
$(CLEAN) packages\*.dcp
!include ..\..\Target.mak

View file

@ -0,0 +1,34 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build cef4delphi component" clean configure build test
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh \
build:project /common/windows/lib/CEF4Delphi.bpl
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache
}
function do_build() {
"$DEVTOOLS" -ai "$THIS_SCRIPT_PATH/source"
delphi_msbuild packages/CEF4Delphi.dproj "//p:Platform=Win32"
"$DEVTOOLS" -ip "$OUTLIB/CEF4Delphi.bpl"
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
builder_run_action build:project do_build
# builder_run_action test:project do_test

View file

@ -63,8 +63,10 @@
<SanitizedProjectName>CEF4Delphi</SanitizedProjectName>
<GenDll>true</GenDll>
<DCC_OutputNeverBuildDcps>true</DCC_OutputNeverBuildDcps>
<DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput>
<DCC_ExeOutput>.\$(Platform)\$(Config)</DCC_ExeOutput>
<DCC_DcuOutput>.\obj\$(Platform)\$(Config)</DCC_DcuOutput>
<DCC_ExeOutput>.\bin\$(Platform)\$(Config)</DCC_ExeOutput>
<DCC_DcpOutput>..\..\..\..\lib</DCC_DcpOutput>
<DCC_BplOutput>..\..\..\..\lib</DCC_BplOutput>
<DCC_E>false</DCC_E>
<DCC_N>false</DCC_N>
<DCC_S>false</DCC_S>

View file

@ -1,16 +0,0 @@
#
# DcpCrypt Makefile (Tavultesoft)
#
!include ..\..\Defines.mak
build: install
install:
$(DEVTOOLS) -ai $(COMMON_ROOT)\ext\dcpcrypt
clean: def-clean
$(CLEAN) *.bpl
$(CLEAN) *.dcp
!include ..\..\Target.mak

View file

@ -0,0 +1,31 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build dcpcrypt component" clean configure build test
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache
}
function do_build() {
"$DEVTOOLS" -ai "$THIS_SCRIPT_PATH"
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
builder_run_action build:project do_build
# builder_run_action test:project do_test

View file

@ -1,16 +0,0 @@
#
# jedi/jwa Makefile (Keyman project)
#
!include ..\..\Defines.mak
build: install-paths
install: install-paths
install-paths:
$(DEVTOOLS) -ai $(COMMON_ROOT)\ext\jwa\Win32API
clean:
rem
!include ..\..\Target.mak

View file

@ -0,0 +1,31 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build jwa component" clean configure build test
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache
}
function do_build() {
"$DEVTOOLS" -ai "$THIS_SCRIPT_PATH/Win32API"
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
builder_run_action build:project do_build
# builder_run_action test:project do_test

View file

@ -0,0 +1,50 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build sentry component" clean configure build test
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh
# build:project /common/windows/lib/CEF4Delphi.bpl
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache
}
function do_build() {
"$DEVTOOLS" -ai "$THIS_SCRIPT_PATH/source"
delphi_msbuild packages/CEF4Delphi.dproj "//p:Platform=Win32"
"$DEVTOOLS" -ip "$OUTLIB/CEF4Delphi.bpl"
}
function do_test() {
# TODO: this does not currently seem to be tested or used
cd test
delphi_msbuild SentryClientTest.dproj "//p:Platform=Win32"
delphi_msbuild SentryClientVclTest.dproj "//p:Platform=Win32"
sentrytool_delphiprep "$WIN32_TARGET_PATH/SentryClientTest.exe" -dpr SentryClientTest.dpr
sentrytool_delphiprep "$WIN32_TARGET_PATH/SentryClientVclTest.exe" -dpr SentryClientVclTest.dpr
tds2dbg "$WIN32_TARGET_PATH/SentryClientTest.exe"
tds2dbg "$WIN32_TARGET_PATH/SentryClientVclTest.exe"
sentry-cli upload-dif -p keyman-windows --wait --include-sources .
cd ..
}
# builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
# builder_run_action build:project do_build
# builder_run_action test:project do_test

View file

@ -1,26 +0,0 @@
#
# SentryClientTest Makefile
#
!include ..\..\..\Defines.mak
build: dirs
# version.res manifest.res
$(DELPHI_MSBUILD) SentryClientTest.dproj "/p:Platform=Win32"
$(DELPHI_MSBUILD) SentryClientVclTest.dproj "/p:Platform=Win32"
$(SENTRYTOOL_DELPHIPREP) $(WIN32_TARGET_PATH)\SentryClientTest.exe -dpr SentryClientTest.dpr
$(SENTRYTOOL_DELPHIPREP) $(WIN32_TARGET_PATH)\SentryClientVclTest.exe -dpr SentryClientVclTest.dpr
$(TDS2DBG) $(WIN32_TARGET_PATH)\SentryClientTest.exe
$(TDS2DBG) $(WIN32_TARGET_PATH)\SentryClientVclTest.exe
upload-symbols:
sentry-cli upload-dif -p keyman-windows --wait --include-sources .
clean: def-clean
-rd /s/q Win32
signcode:
rem no action
!include ..\..\..\Target.mak

View file

@ -1,19 +1,6 @@
!include ..\..\Defines.mak
build:
-mkdir $(WIN32_TARGET_PATH)
$(COPY) tds2dbg.bin $(WIN32_TARGET_PATH)\tds2dbg.exe
$(MAKE) install
install:
-mkdir $(KEYMAN_ROOT)\common\windows\bin\tools
$(COPY) $(WIN32_TARGET_PATH)\tds2dbg.exe $(KEYMAN_ROOT)\common\windows\bin\tools
#
# The following builds require Borland C++ compiler to be installed and in the path; see Readme.txt for details.
# So, the tds2dbg.bin is kept in the repo in order to make builds simpler
#
info:
echo The following builds require Borland C++ compiler to be installed and in the path; see Readme.txt for details.
echo So, the tds2dbg.bin is kept in the repo in order to make builds simpler
BCC55DIR=c:\borland\bcc55
@ -33,5 +20,3 @@ clean:
doc:
doxygen tds2dbg.dcf
!include ..\..\Target.mak

View file

@ -0,0 +1,36 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build tds2dbg component" clean configure build test
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh \
build:project "$WIN32_TARGET_PATH/tds2dbg.exe"
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache
}
function do_build() {
mkdir -p "$WIN32_TARGET_PATH"
cp tds2dbg.bin "$WIN32_TARGET_PATH/tds2dbg.exe"
mkdir -p "$KEYMAN_ROOT/common/windows/bin/tools"
cp "$WIN32_TARGET_PATH/tds2dbg.exe" "$KEYMAN_ROOT/common/windows/bin/tools/"
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
builder_run_action build:project do_build
# builder_run_action test:project do_test

View file

@ -1,57 +0,0 @@
#
# Keyman common tools Makefile
#
NOTARGET_SIGNCODE=yes
!ifdef NODELPHI
TARGETS=.virtual
!else
TARGETS=build_standards_data buildunidata devtools sentrytool test-klog verify_signatures
!endif
CLEANS=clean-tools
!include ..\Header.mak
# ----------------------------------------------------------------------
build_standards_data: .virtual
cd $(COMMON_ROOT)\tools\build_standards_data
$(MAKE) $(TARGET)
sentrytool: .virtual
cd $(COMMON_ROOT)\tools\sentrytool
$(MAKE) $(TARGET)
buildunidata: .virtual
cd $(COMMON_ROOT)\tools\buildunidata
$(MAKE) $(TARGET)
verify_signatures: .virtual
cd $(COMMON_ROOT)\tools\verify_signatures
$(MAKE) $(TARGET)
devtools: .virtual
!ifdef NODELPHI
echo Skipping devtools
!else
cd $(COMMON_ROOT)\tools\devtools
$(MAKE) $(TARGET)
!endif
test-klog: .virtual
cd $(COMMON_ROOT)\tools\test-klog
$(MAKE) $(TARGET)
# ----------------------------------------------------------------------
clean-tools:
cd $(COMMON_ROOT)\tools
-del version.txt
!include ..\Target.mak
# ----------------------------------------------------------------------
# EOF
# ----------------------------------------------------------------------

View file

@ -0,0 +1,14 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe \
"Build Keyman Developer common tools" \
clean configure build test \
:build_standards_data :buildunidata :devtools :sentrytool :test-klog :verify_signatures
builder_parse "$@"
builder_run_child_actions clean configure build test

View file

@ -1,38 +0,0 @@
#
# Build all generated source code for standards data
#
!include ..\..\Defines.mak
test: build
STANDARDS_DATA_PATH=$(KEYMAN_ROOT)\resources\standards-data
STANDARDS_OUT_PATH=$(KEYMAN_ROOT)\common\windows\delphi\standards
ISO6393_DATA=$(STANDARDS_DATA_PATH)\iso639-3\iso639-3.tab
ISO6393_PAS=$(STANDARDS_OUT_PATH)\Keyman.System.Standards.ISO6393ToBCP47Registry.pas
SUBTAG_DATA=$(STANDARDS_DATA_PATH)\language-subtag-registry\language-subtag-registry
SUBTAG_PAS=$(STANDARDS_OUT_PATH)\Keyman.System.Standards.BCP47SubtagRegistry.pas
SUPPRESS_DATA=$(STANDARDS_DATA_PATH)\language-subtag-registry\language-subtag-registry
SUPPRESS_PAS=$(STANDARDS_OUT_PATH)\Keyman.System.Standards.BCP47SuppressScriptRegistry.pas
LCID_DATA=$(STANDARDS_DATA_PATH)\windows-lcid-to-bcp-47\map_clean_win.txt
LCID_PAS=$(STANDARDS_OUT_PATH)\Keyman.System.Standards.LCIDToBCP47Registry.pas
LANGTAGS_DATA=$(STANDARDS_DATA_PATH)\langtags\langtags.json
LANGTAGS_PAS=$(STANDARDS_OUT_PATH)\Keyman.System.Standards.LangTagsRegistry.pas
build:
$(DELPHI_MSBUILD) build_standards_data.dproj
$(WIN32_TARGET_PATH)\build_standards_data.exe iso6393 $(ISO6393_DATA) $(ISO6393_PAS)
$(WIN32_TARGET_PATH)\build_standards_data.exe suppress $(SUPPRESS_DATA) $(SUPPRESS_PAS)
$(WIN32_TARGET_PATH)\build_standards_data.exe subtag $(SUBTAG_DATA) $(SUBTAG_PAS)
$(WIN32_TARGET_PATH)\build_standards_data.exe lcid $(LCID_DATA) $(LCID_PAS)
$(WIN32_TARGET_PATH)\build_standards_data.exe langtags $(LANGTAGS_DATA) $(LANGTAGS_PAS)
clean: def-clean
# -rd /s/q Win32
!include ..\..\Target.mak

View file

@ -0,0 +1,55 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build build_standards_data tool" clean configure build test
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh \
build:project /common/windows/delphi/standards/Keyman.System.Standards.LangTagsRegistry.pas
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache
}
STANDARDS_DATA_PATH="$KEYMAN_ROOT/resources/standards-data"
STANDARDS_OUT_PATH="$KEYMAN_ROOT/common/windows/delphi/standards"
ISO6393_DATA="$STANDARDS_DATA_PATH/iso639-3/iso639-3.tab"
ISO6393_PAS="$STANDARDS_OUT_PATH/Keyman.System.Standards.ISO6393ToBCP47Registry.pas"
SUBTAG_DATA="$STANDARDS_DATA_PATH/language-subtag-registry/language-subtag-registry"
SUBTAG_PAS="$STANDARDS_OUT_PATH/Keyman.System.Standards.BCP47SubtagRegistry.pas"
SUPPRESS_DATA="$STANDARDS_DATA_PATH/language-subtag-registry/language-subtag-registry"
SUPPRESS_PAS="$STANDARDS_OUT_PATH/Keyman.System.Standards.BCP47SuppressScriptRegistry.pas"
LCID_DATA="$STANDARDS_DATA_PATH/windows-lcid-to-bcp-47/map_clean_win.txt"
LCID_PAS="$STANDARDS_OUT_PATH/Keyman.System.Standards.LCIDToBCP47Registry.pas"
LANGTAGS_DATA="$STANDARDS_DATA_PATH/langtags/langtags.json"
LANGTAGS_PAS="$STANDARDS_OUT_PATH/Keyman.System.Standards.LangTagsRegistry.pas"
function do_build() {
delphi_msbuild build_standards_data.dproj "//p:Platform=Win32"
"$WIN32_TARGET_PATH/build_standards_data.exe" iso6393 "$ISO6393_DATA" "$ISO6393_PAS"
"$WIN32_TARGET_PATH/build_standards_data.exe" suppress "$SUPPRESS_DATA" "$SUPPRESS_PAS"
"$WIN32_TARGET_PATH/build_standards_data.exe" subtag "$SUBTAG_DATA" "$SUBTAG_PAS"
"$WIN32_TARGET_PATH/build_standards_data.exe" lcid "$LCID_DATA" "$LCID_PAS"
"$WIN32_TARGET_PATH/build_standards_data.exe" langtags "$LANGTAGS_DATA" "$LANGTAGS_PAS"
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
builder_run_action build:project do_build
# builder_run_action test:project do_test

View file

@ -1,16 +0,0 @@
#
# buildunidata Makefile
#
!include ..\..\Defines.mak
build:
$(DELPHI_MSBUILD) buildunidata.dproj "/p:Platform=Win32"
run:
-mkdir $(KEYMAN_ROOT)\common\windows\bin\data
$(WIN32_TARGET_PATH)\buildunidata.exe $(KEYMAN_ROOT)\common\windows\data $(KEYMAN_ROOT)\common\windows\bin\data\unicodedata.mdb
clean: def-clean
!include ..\..\Target.mak

View file

@ -0,0 +1,33 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build buildunidata tool" clean configure build test
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh \
build:project /common/windows/delphi/tools/buildunidata/$WIN32_TARGET_PATH/buildunidata.exe
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache
}
function do_build() {
delphi_msbuild buildunidata.dproj "//p:Platform=Win32"
# "$WIN32_TARGET_PATH/buildunidata.exe" "$KEYMAN_ROOT/common/windows/data" "$KEYMAN_ROOT/common/windows/bin/data/unicodedata.mdb"
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
builder_run_action build:project do_build
# builder_run_action test:project do_test

View file

@ -1,22 +0,0 @@
!include ..\..\Defines.mak
default:
@echo The following make targets are available:
@echo . test-certificate create a test certificate + CA (and install test CA)
test-certificate:
cd $(COMMON_ROOT)\tools\certificates
-del KeymanTestCA-sha1.*
-del KeymanTest-sha1.*
-del KeymanTest-sha256.*
-del KeymanTestCA-sha256.*
makecert -r -pe -n "CN=Keyman Test CA SHA1" -ss CA -sr CurrentUser -a sha1 -cy authority -sky signature -sv KeymanTestCA-sha1.pvk KeymanTestCA-sha1.cer
certutil -user -addstore Root KeymanTestCA-sha1.cer
makecert -pe -n "CN=Keyman Test Certificate SHA1" -a sha1 -cy end -sky signature -ic KeymanTestCA-sha1.cer -iv KeymanTestCA-sha1.pvk -sv KeymanTest-sha1.pvk KeymanTest-sha1.cer
pvk2pfx -pvk KeymanTest-sha1.pvk -spc KeymanTest-sha1.cer -pfx KeymanTest-sha1.pfx
makecert -r -pe -n "CN=Keyman Test CA" -ss CA -sr CurrentUser -a sha256 -cy authority -sky signature -sv KeymanTestCA-sha256.pvk KeymanTestCA-sha256.cer
certutil -user -addstore Root KeymanTestCA-sha256.cer
makecert -pe -n "CN=Keyman Test Certificate" -a sha256 -cy end -sky signature -ic KeymanTestCA-sha256.cer -iv KeymanTestCA-sha256.pvk -sv KeymanTest-sha256.pvk KeymanTest-sha256.cer
pvk2pfx -pvk KeymanTest-sha256.pvk -spc KeymanTest-sha256.cer -pfx KeymanTest-sha256.pfx

View file

@ -0,0 +1,39 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build and install test certificates" clean configure build test \
"certificates Create test certificates and install root certificates"
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh
#-------------------------------------------------------------------------------------------------------------------
function do_certificates() {
rm -f KeymanTestCA-sha1.* KeymanTest-sha1.* KeymanTest-sha256.* KeymanTestCA-sha256.*
makecert -r -pe -n "CN=Keyman Test CA SHA1" -ss CA -sr CurrentUser -a sha1 -cy authority -sky signature -sv KeymanTestCA-sha1.pvk KeymanTestCA-sha1.cer
certutil -user -addstore Root KeymanTestCA-sha1.cer
makecert -pe -n "CN=Keyman Test Certificate SHA1" -a sha1 -cy end -sky signature -ic KeymanTestCA-sha1.cer -iv KeymanTestCA-sha1.pvk -sv KeymanTest-sha1.pvk KeymanTest-sha1.cer
pvk2pfx -pvk KeymanTest-sha1.pvk -spc KeymanTest-sha1.cer -pfx KeymanTest-sha1.pfx
makecert -r -pe -n "CN=Keyman Test CA" -ss CA -sr CurrentUser -a sha256 -cy authority -sky signature -sv KeymanTestCA-sha256.pvk KeymanTestCA-sha256.cer
certutil -user -addstore Root KeymanTestCA-sha256.cer
makecert -pe -n "CN=Keyman Test Certificate" -a sha256 -cy end -sky signature -ic KeymanTestCA-sha256.cer -iv KeymanTestCA-sha256.pvk -sv KeymanTest-sha256.pvk KeymanTest-sha256.cer
pvk2pfx -pvk KeymanTest-sha256.pvk -spc KeymanTest-sha256.cer -pfx KeymanTest-sha256.pfx
}
#builder_run_action clean:project do_clean
#builder_run_action configure:project configure_windows_build_environment
#builder_run_action build:project do_build
builder_run_action certificates:project do_certificates
# builder_run_action test:project do_test

View file

@ -1,25 +0,0 @@
#
# Devtools Makefile
#
#
# Devtools is used to create PathDefines.mak, so
# it may not be present when we build. So as we
# don't need it for the build, let's go ahead and
# delete it (Devtools has all dependencies
# referenced explictly to avoid chicken-and-egg
# here).
#
EXCLUDEPATHDEFINES=1
!include ..\..\Defines.mak
build:
$(DELPHI_MSBUILD) devtools.dproj
test-releasebuildcheck: build
$(DEVTOOLS) -rt
clean: def-clean
!include ..\..\Target.mak

View file

@ -0,0 +1,37 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build devtools tool" clean configure build test
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh \
build:project /common/windows/delphi/tools/devtools/$WIN32_TARGET_PATH/devtools.exe
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache
}
function do_build() {
delphi_msbuild devtools.dproj "//p:Platform=Win32"
# "$WIN32_TARGET_PATH/buildunidata.exe" "$KEYMAN_ROOT/common/windows/data" "$KEYMAN_ROOT/common/windows/bin/data/unicodedata.mdb"
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
builder_run_action build:project do_build
# builder_run_action test:project do_test
# TODO
#: test-releasebuildcheck: build
# $(DEVTOOLS) -rt

View file

@ -1,12 +0,0 @@
#
# Sentrytool Makefile
#
!include ..\..\Defines.mak
build:
$(DELPHI_MSBUILD) sentrytool.dproj "/p:Platform=Win32"
clean: def-clean
!include ..\..\Target.mak

View file

@ -0,0 +1,32 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build sentrytool tool" clean configure build test
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh \
build:project /common/windows/delphi/tools/sentrytool/$WIN32_TARGET_PATH/sentrytool.exe
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache
}
function do_build() {
delphi_msbuild sentrytool.dproj "//p:Platform=Win32"
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
builder_run_action build:project do_build
# builder_run_action test:project do_test

View file

@ -1,16 +0,0 @@
#
# Verify klog is disabled
#
!include ..\..\Defines.mak
verify: clean
$(DELPHI_MSBUILD) test_klog.dproj "/p:Platform=Win32"
$(WIN32_TARGET_PATH)\test_klog
build:
rem no build for test_certcheck
clean: def-clean
!include ..\..\Target.mak

View file

@ -0,0 +1,39 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build test-klog tool" clean configure build test verify
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh \
build:project /common/windows/delphi/tools/sentrytool/$WIN32_TARGET_PATH/sentrytool.exe
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache
}
function do_verify() {
# verify that the klog module is disabled for release builds
do_clean
delphi_msbuild test_klog.dproj "//p:Platform=Win32"
"$WIN32_TARGET_PATH/test_klog.exe"
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
# builder_run_action build:project do_build
# builder_run_action test:project do_test
# Kept separate from test as this is not so much a unit test as an environment
# safety check
builder_run_action verify:project do_verify

View file

@ -1,13 +0,0 @@
#
# test for signatures and version information being correct in ?install directory or ?bin directory
#
!include ..\..\Defines.mak
build:
$(DELPHI_MSBUILD) verify_signatures.dproj
copy sigcheck.bin $(WIN32_TARGET_PATH)\sigcheck.exe
clean: def-clean
!include ..\..\Target.mak

View file

@ -0,0 +1,33 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build verify_signatures tool" clean configure build test verify
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh \
build:project /common/windows/delphi/tools/verify_signatures/$WIN32_TARGET_PATH/verify_signatures.exe
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache
}
function do_build() {
delphi_msbuild verify_signatures.dproj "//p:Platform=Win32"
cp sigcheck.bin "$WIN32_TARGET_PATH/sigcheck.exe"
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
builder_run_action build:project do_build
# builder_run_action test:project do_test

View file

@ -1,22 +0,0 @@
!IFNDEF KEYMAN_ROOT
!error KEYMAN_ROOT must be defined
!ENDIF
WINDOWS_ROOT=$(KEYMAN_ROOT)\windows
WINDOWS_PROGRAM=$(WINDOWS_ROOT)\bin
COMMON_ROOT=$(KEYMAN_ROOT)\common\windows\delphi
DEVELOPER_ROOT=$(KEYMAN_ROOT)\developer
DEVELOPER_PROGRAM=$(DEVELOPER_ROOT)\bin
DEVELOPER_OUTLIB=$(DEVELOPER_ROOT)\lib
DEVELOPER_DEBUGPATH=$(DEVELOPER_ROOT)\debug
DEVELOPER_DELPHIDPKPARAMS=-Q -B -GD -VT -^$C+ -^$D+ -^$J+ -^$L+ -^$O+ -^$Q- -^$R- -^$W+ -^$Y+ -E. $(DELPHIWARNINGS) -I$(DELPHIINCLUDES) -U$(DELPHIINCLUDES) -R$(DELPHIINCLUDES) -NSVcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Web;Soap;Winapi;System.Win -LE$(DEVELOPER_OUTLIB) -LN$(DEVELOPER_OUTLIB) -NSData -NUobj\Win32\$(TARGET_PATH)
DEVELOPER_DCC32DPK=cmd /c "$(DCC32PATH)\dcc32.exe" $(DEVELOPER_DELPHIDPKPARAMS)
# Temporary import of windows/src/Defines.mak
# TODO: include COMMON_ROOT's defines.mak instead
!include $(WINDOWS_ROOT)\src\Defines.mak
KEYMANCORE=keymancore-2

View file

@ -1,14 +0,0 @@
!IFNDEF KEYMAN_ROOT
!error KEYMAN_ROOT must be defined
!ENDIF
WINDOWS_ROOT=$(KEYMAN_ROOT)\windows
WINDOWS_PROGRAM=$(WINDOWS_ROOT)\bin
DEVELOPER_ROOT=$(KEYMAN_ROOT)\developer
DEVELOPER_PROGRAM=$(DEVELOPER_ROOT)\bin
DEVELOPER_OUTLIB=$(DEVELOPER_ROOT)\lib
DEVELOPER_DEBUGPATH=$(DEVELOPER_ROOT)\debug
# Temporary import of windows/src/Header.mak
!include $(WINDOWS_ROOT)\src\Header.mak

View file

@ -1,293 +0,0 @@
#
# Keyman dev Makefile
#
!ifdef NODELPHI
DELPHI_TARGETS=
!else
# note: inst is not really a delphi target but depends on delphi
DELPHI_TARGETS=kmconvert tike setup inst
!endif
TARGETS=build-tools kmcmplib kmanalyze $(DELPHI_TARGETS) kmdecomp samples server kmc api
EXCLUDEPATHDEFINES=1
MANIFESTS=tike setup
CLEANS=clean-developer
EXCLUDEPATHDEFINES=1
BUILDPREREQ=global-versions
!include Header.mak
# ----------------------------------------------------------------------
common: .virtual
cd $(KEYMAN_ROOT)\common\windows\delphi\components
$(MAKE) $(TARGET)
cd $(DEVELOPER_ROOT)\src\common\delphi\components
$(MAKE) $(TARGET)
imsample: .virtual
cd $(DEVELOPER_ROOT)\src\imsample
$(MAKE) $(TARGET)
kmcmplib: global-versions .virtual
cd $(DEVELOPER_ROOT)\src\kmcmplib
$(MAKE) $(TARGET)
kmdecomp: .virtual
cd $(DEVELOPER_ROOT)\src\kmdecomp
$(MAKE) $(TARGET)
kmanalyze: .virtual
cd $(DEVELOPER_ROOT)\src\kmanalyze
$(MAKE) $(TARGET)
kmconvert: .virtual
cd $(DEVELOPER_ROOT)\src\kmconvert
$(MAKE) $(TARGET)
tike: redist
cd $(DEVELOPER_ROOT)\src\tike
$(MAKE) $(TARGET)
samples: .virtual
cd $(DEVELOPER_ROOT)\src\samples
$(MAKE) $(TARGET)
setup: .virtual
cd $(DEVELOPER_ROOT)\src\setup
$(MAKE) $(TARGET)
server: .virtual
cd $(DEVELOPER_ROOT)\src\server
$(MAKE) $(TARGET)
kmc: kmc-analyze kmc-ldml kmc-keyboard-info kmc-kmn kmc-model kmc-model-info kmc-package
cd $(DEVELOPER_ROOT)\src\kmc
$(MAKE) $(TARGET)
kmc-analyze: .virtual
cd $(DEVELOPER_ROOT)\src\kmc-analyze
$(MAKE) $(TARGET)
kmc-keyboard-info: .virtual
cd $(DEVELOPER_ROOT)\src\kmc-keyboard-info
$(MAKE) $(TARGET)
kmc-kmn: .virtual
cd $(DEVELOPER_ROOT)\src\kmc-kmn
$(MAKE) $(TARGET)
kmc-ldml: .virtual
cd $(DEVELOPER_ROOT)\src\kmc-ldml
$(MAKE) $(TARGET)
kmc-model: .virtual
cd $(DEVELOPER_ROOT)\src\kmc-model
$(MAKE) $(TARGET)
kmc-model-info: .virtual
cd $(DEVELOPER_ROOT)\src\kmc-model-info
$(MAKE) $(TARGET)
kmc-package: .virtual
cd $(DEVELOPER_ROOT)\src\kmc-package
$(MAKE) $(TARGET)
api: .virtual
cd $(DEVELOPER_ROOT)
if $(TARGET) == build $(GIT_BASH_FOR_KEYMAN) build.sh api --no-deps
# ----------------------------------------------------------------------
ext: .virtual
cd $(DEVELOPER_ROOT)\src\ext
$(MAKE) $(TARGET)
# ----------------------------------------------------------------------
test: .virtual
cd $(DEVELOPER_ROOT)\src\test\auto
$(MAKE) $(TARGET)
cd $(DEVELOPER_ROOT)\src
# ----------------------------------------------------------------------
redist:
copy $(KEYMAN_ROOT)\common\windows\delphi\ext\sentry\sentry.dll $(DEVELOPER_ROOT)\bin
copy $(KEYMAN_ROOT)\common\windows\delphi\ext\sentry\sentry.x64.dll $(DEVELOPER_ROOT)\bin
copy $(KEYMAN_ROOT)\common\windows\delphi\ext\sentry\crashpad_handler.exe $(DEVELOPER_ROOT)\bin
# ----------------------------------------------------------------------
inst: redist
cd $(DEVELOPER_ROOT)\src\inst
$(MAKE) $(TARGET)
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
# release
# ----------------------------------------------------------------------
release: clean-pathdefines test-release-cef-path test-releasebuildcheck test-releaseexists test-cert test-7zip test-wix test-klog clean clean-output
cd $(DEVELOPER_ROOT)\src
echo Continuing Release
$(MAKE) do-build-release
echo After build-release
cd $(DEVELOPER_ROOT)\src
# Build a release
do-build-release:
echo Starting Release Build
cd $(COMMON_ROOT)
$(MAKE) global-versions
cd $(DEVELOPER_ROOT)\src
$(MAKE) dirs
cd $(WINDOWS_ROOT)\src
$(MAKE) build-tools
cd $(DEVELOPER_ROOT)\src
$(MAKE) build-release-dependencies
$(MAKE) "SIGNCODE_BUILD=SIGNCODE_BUILD" build test
$(MAKE) signcode
cd $(DEVELOPER_ROOT)\src\tools\verify_signatures
$(MAKE) test
cd $(DEVELOPER_ROOT)\src\inst
$(MAKE)
cd $(DEVELOPER_ROOT)\src
#
# Dependencies on Windows are now only ext,global,buildtools and kmbrowserhost
#
build-release-dependencies:
cd $(WINDOWS_ROOT)\src\ext
$(MAKE) build
cd $(WINDOWS_ROOT)\src\global
$(MAKE) build
cd $(WINDOWS_ROOT)\src\buildtools
$(MAKE) build
# TODO: kmbrowserhost should be in global
cd $(WINDOWS_ROOT)\src\desktop\kmbrowserhost
$(MAKE) build signcode
cd $(DEVELOPER_ROOT)\src
clean-output:
rd /s/q $(DEVELOPER_ROOT)\bin
rd /s/q $(DEVELOPER_ROOT)\debug
rd /s/q $(DEVELOPER_ROOT)\build
rd /s/q $(DEVELOPER_ROOT)\lib
clean-pathdefines: test-releasebuildcheck
# test-releasebuildcheck builds devtools for us
$(DEVTOOLS) -ri
#
# Test that the CEF file path is accessible from env var KEYMAN_CEF4DELPHI_ROOT
# and checkout the appropriate version of CEF as determined by CEF_VERSION.md
#
test-release-cef-path:
!ifndef SC_TIMESTAMP
!ifdef GIT_BASH_FOR_KEYMAN
$(GIT_BASH_FOR_KEYMAN) $(KEYMAN_ROOT)\common\windows\cef-checkout.sh
!else
start /wait $(KEYMAN_ROOT)\common\windows\cef-checkout.sh
!endif
!endif
#
# Test that certificate checking is enabled and that certificate is accessible
#
test-cert:
copy $(SC_PFX_SHA1) $(WINDOWS_ROOT)\src\pfx.tmp
del $(WINDOWS_ROOT)\src\pfx.tmp
#
# Test that WiX is installed
#
test-wix:
if not exist $(WIXPATH)\candle.exe exit 1
#
# Test that 7-zip is installed
#
test-7zip:
if not exist $(WZZIPPATH) exit 1
#
# Test that klog is disabled
#
test-klog:
cd $(COMMON_ROOT)\tools\test-klog
$(MAKE) verify
cd $(DEVELOPER_ROOT)\src
#
# Test that we haven't already built this release
#
test-releaseexists:
cd $(DEVELOPER_ROOT)\src\inst
$(MAKE) test-releaseexists
cd $(DEVELOPER_ROOT)\src
#
# Test various release prerequisites, e.g. Debug reg key not set
#
test-releasebuildcheck: global-versions
cd $(COMMON_ROOT)\tools\devtools
$(MAKE) test-releasebuildcheck
cd $(DEVELOPER_ROOT)\src
#
# Tools needed to complete a build
#
build-tools:
$(MAKE) global-versions
$(MAKE) common
!ifdef NODELPHI
echo Skipping build-tools
!else
$(MAKE) build-tools-internal
!endif
global-versions:
cd $(COMMON_ROOT)
@if not exist $(KEYMAN_ROOT)\include\keymanversion_build.h $(MAKE) global-versions
cd $(DEVELOPER_ROOT)\src
build-tools-internal:
# We'll build a default PathDefines.mak if it is missing here so we can
# go on and do the rest of the build. Build all the ext/global/build-tools
# things we need...
$(MAKE) devtools-app
$(DEVTOOLS) -ti
cd $(WINDOWS_ROOT)\src
$(MAKE) ext global buildtools
cd $(DEVELOPER_ROOT)\src
$(MAKE) ext
# ----------------------------------------------------------------------
clean-developer:
cd $(DEVELOPER_ROOT)\src
-del version.txt
!include Target.mak
# ----------------------------------------------------------------------
# EOF
# ----------------------------------------------------------------------

View file

@ -1,2 +0,0 @@
# Temporary import of windows/src/Target.mak
!include $(WINDOWS_ROOT)\src\Target.mak

View file

@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe \
"Build Keyman Developer" \
clean \

View file

@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe \
"Build Keyman Developer common files" \
clean configure build api test publish install \

View file

@ -5,15 +5,12 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe "Build Keyman Developer Delphi components" clean configure build test
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
WIN32_TARGET="$WIN32_TARGET_PATH/kmconvert.exe"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh \

View file

@ -1,44 +0,0 @@
#
# Keyman Developer Delphi components Makefile
#
!include ..\..\..\Defines.mak
# ----------------------------------------------------------------------
all: keyman-developer-components
build: keyman-developer-components
# ----------------------------------------------------------------------
keyman-developer-components: dirs compile install
# $(COPY) keyman_components.bpl $(OUTLIB)
compile:
@-mkdir obj\Win32\$(TARGET_PATH)
$(DEVELOPER_DCC32DPK) developer_components.dpk
install:
$(DEVTOOLS) -ip $(DEVELOPER_OUTLIB)\developer_components.bpl
signcode:
@rem no signcode
symbols:
@rem no symbols
# ----------------------------------------------------------------------
# clean target
# ----------------------------------------------------------------------
clean: def-clean
-rd /s/q obj
# ----------------------------------------------------------------------
!include ..\..\..\Target.mak
# ----------------------------------------------------------------------
# EOF
# ----------------------------------------------------------------------

View file

@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe \
"Build Keyman Developer common web files" \
clean configure build test \

View file

@ -1,53 +0,0 @@
#
# Keyman Developer ext Makefile - 3rd party components
#
NOTARGET_SIGNCODE=yes
!ifdef NODELPHI
TARGETS=.virtual
!else
TARGETS=browse4folder jedi mbcolor scfontcombobox common
!endif
CLEANS=
!include ..\Header.mak
# ----------------------------------------------------------------------
browse4folder: .virtual
cd $(DEVELOPER_ROOT)\src\ext\browse4folder
$(MAKE) $(TARGET)
jedi: .virtual
cd $(DEVELOPER_ROOT)\src\ext\jedi
$(MAKE) $(TARGET)
mbcolor: .virtual
cd $(DEVELOPER_ROOT)\src\ext\mbcolor
$(MAKE) $(TARGET)
scfontcombobox: .virtual
cd $(DEVELOPER_ROOT)\src\ext\scfontcombobox
$(MAKE) $(TARGET)
# ----------------------------------------------------------------------
common: .virtual
cd $(COMMON_ROOT)\ext
$(MAKE) $(TARGET)
#
#
#
reset:
$(DEVTOOLS) -rp
$(DEVTOOLS) -ri
!include ..\Target.mak
# ----------------------------------------------------------------------
# EOF
# ----------------------------------------------------------------------

View file

@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe "Build browser4folder component" clean configure build test
builder_parse "$@"

View file

@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe \
"Build Keyman Developer third party components" \
clean configure build api test publish install \

View file

@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe "Build mbcolor component" clean configure build test
builder_parse "$@"

View file

@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe "Build scfontcombobox component" clean configure build test
builder_parse "$@"

View file

@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe "Build kmanalyze" clean configure build test publish install
builder_parse "$@"

View file

@ -1,38 +0,0 @@
#
# Keyman Developer - kmc Model-Info Compiler Makefile
#
!include ..\Defines.mak
# We don't depend on configure here because kmc-ldml does that already
build: .virtual
$(GIT_BASH_FOR_KEYMAN) build.sh build
configure: .virtual
$(GIT_BASH_FOR_KEYMAN) build.sh configure
clean: .virtual
$(GIT_BASH_FOR_KEYMAN) build.sh clean
test: .virtual
$(GIT_BASH_FOR_KEYMAN) build.sh test
# build.sh bundle must be run from shell as it requires a temp folder to be
# passed in. See inst/download.in.mak for instantiation.
publish: .virtual
$(GIT_BASH_FOR_KEYMAN) build.sh publish
signcode:
@rem nothing to do
wrap-symbols:
@rem nothing to do
test-manifest:
@rem nothing to do
install:
@rem nothing to do
!include ..\Target.mak

View file

@ -1,39 +0,0 @@
#
# KMCmpLib Makefile
#
!include ..\Defines.mak
!ifdef GIT_BASH_FOR_KEYMAN
CALLER=$(GIT_BASH_FOR_KEYMAN)
!else
CALLER=start /wait
!endif
!ifdef DEBUG
BUILD_DEBUG=-d
!else
BUILD_DEBUG=
!endif
build: .virtual
$(CALLER) ./build.sh clean configure build $(BUILD_DEBUG)
clean:
$(CALLER) ./build.sh clean $(BUILD_DEBUG)
signcode:
@rem Not required
wrap-symbols:
@rem Not required
test-manifest:
@rem This target needed as dependency for TIKE
test:
$(CALLER) ./build.sh test $(BUILD_DEBUG)
install:
@rem Not required
!include ..\Target.mak

View file

@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe "Build kmconvert" clean configure build test publish install
builder_parse "$@"

View file

@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe "Build kmdecomp" clean configure build test publish install
builder_parse "$@"

View file

@ -1,16 +0,0 @@
#
# Samples Makefile
#
TARGETS=imsample
!include ..\Header.mak
imsample: .virtual
cd $(DEVELOPER_ROOT)\src\samples\imsample
$(MAKE) $(TARGET)
!include ..\Target.mak
# ----------------------------------------------------------------------
# EOF
# ----------------------------------------------------------------------

32
developer/src/samples/build.sh Executable file
View file

@ -0,0 +1,32 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe \
"Build Keyman Developer Samples" \
clean \
configure \
build \
"api Analyze API and prepare API documentation" \
test \
"publish Prepare files for distribution and publish symbols" \
"install Install built programs locally" \
:imsample
builder_parse "$@"
# builder_describe_outputs \
# configure /developer/src/tike/xml/layoutbuilder/keymanweb-osk.ttf
# builder_run_action configure cp "$KEYMAN_ROOT/common/resources/fonts/keymanweb-osk.ttf" "$KEYMAN_ROOT/developer/src/tike/xml/layoutbuilder/"
builder_run_child_actions clean configure build test api publish install
function build_api() {
api-documenter markdown -i ../build/api -o ../build/docs
# TODO: Copy to help.keyman.com and open PR
}
builder_run_action api build_api

View file

@ -1,36 +0,0 @@
#
# imsample Makefile
#
VERSION_TXT_PATH=..\..
!include ..\..\Defines.mak
build: dirs version.res
$(MSBUILD) imsample.sln $(MSBUILD_BUILD) "/p:Platform=Win32"
$(COPY) $(WIN32_TARGET_PATH)\imsample.dll $(DEVELOPER_PROGRAM)
$(COPY) $(WIN32_TARGET_PATH)\imsample.pdb $(DEVELOPER_PROGRAM)
$(MSBUILD) imsample.sln $(MSBUILD_BUILD) "/p:Platform=x64"
$(COPY) $(X64_TARGET_PATH)\imsample.x64.dll $(DEVELOPER_PROGRAM)
$(COPY) $(X64_TARGET_PATH)\imsample.x64.pdb $(DEVELOPER_PROGRAM)
signcode:
$(SIGNCODE) /d "Keyman IMX Sample" $(DEVELOPER_PROGRAM)\imsample.dll
$(SIGNCODE) /d "Keyman IMX Sample" $(DEVELOPER_PROGRAM)\imsample.x64.dll
wrap-symbols:
$(SYMSTORE) $(DEVELOPER_PROGRAM)\imsample.dll /t keyman-developer
$(SYMSTORE) $(DEVELOPER_PROGRAM)\imsample.x64.dll /t keyman-developer
$(SYMSTORE) $(DEVELOPER_DEBUGPATH)\imsample.pdb /t keyman-developer
$(SYMSTORE) $(DEVELOPER_DEBUGPATH)\imsample.x64.pdb /t keyman-developer
clean: def-clean
$(MSBUILD) imsample.sln $(MSBUILD_CLEAN)
install:
@rem
!include ..\..\Target.mak

View file

@ -0,0 +1,54 @@
#!/usr/bin/env bash
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
builder_describe "Build imsample" clean configure build api test publish install
builder_parse "$@"
#-------------------------------------------------------------------------------------------------------------------
source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh"
WIN32_TARGET="$WIN32_TARGET_PATH/imsample.dll"
X64_TARGET="$X64_TARGET_PATH/imsample.x64.dll"
builder_describe_outputs \
configure:project /resources/build/win/delphi_environment_generated.inc.sh \
build:project /developer/src/samples/imsample/$X64_TARGET
#-------------------------------------------------------------------------------------------------------------------
function do_clean() {
vs_msbuild imsample.sln //t:Clean
rm -rf bin obj manifest.res manifest.xml version.res
}
function do_build() {
build_version.res
vs_msbuild imsample.sln //t:Build "//p:Platform=Win32"
cp "$WIN32_TARGET" "$DEVELOPER_PROGRAM"
cp "$WIN32_TARGET_PATH/imsample.pdb" "$DEVELOPER_DEBUGPATH"
vs_msbuild imsample.sln //t:Build "//p:Platform=x64"
cp "$X64_TARGET" "$DEVELOPER_PROGRAM"
cp "$X64_TARGET_PATH/imsample.x64.pdb" "$DEVELOPER_DEBUGPATH"
}
# TODO
function do_publish() {
"$SIGNCODE" //d "Keyman IMX Sample" "$DEVELOPER_PROGRAM/imsample.dll"
"$SIGNCODE" //d "Keyman IMX Sample" "$DEVELOPER_PROGRAM/imsample.x64.dll"
"$SYMSTORE" "$DEVELOPER_PROGRAM/imsample.dll" //t keyman-developer
"$SYMSTORE" "$DEVELOPER_PROGRAM/imsample.x64.dll" //t keyman-developer
"$SYMSTORE" "$DEVELOPER_DEBUGPATH/imsample.pdb" //t keyman-developer
"$SYMSTORE" "$DEVELOPER_DEBUGPATH/imsample.x64.pdb" //t keyman-developer
}
builder_run_action clean:project do_clean
builder_run_action configure:project configure_windows_build_environment
builder_run_action build:project do_build
# builder_run_action test:project do_test
builder_run_action publish:project do_publish

View file

@ -1,34 +0,0 @@
#
# Keyman Developer Server Makefile
#
!include ..\Defines.mak
build: .virtual
$(GIT_BASH_FOR_KEYMAN) build.sh configure build test installer
clean: .virtual
#TODO: move to build.sh `clean` target
-rd /s/q build
-rd /s/q dist
-del tsconfig.tsbuildinfo
signcode:
$(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\server\build\src\win32\console\node-hide-console-window.node
$(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\server\build\src\win32\console\node-hide-console-window.x64.node
$(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\server\build\src\win32\trayicon\addon.node
$(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\server\build\src\win32\trayicon\addon.x64.node
wrap-symbols:
@rem nothing to do
test-manifest:
@rem This target needed as dependency for KMDECOMP
install:
@rem nothing to do
!include ..\Target.mak

View file

@ -1,42 +0,0 @@
#
# Setup Makefile
#
!include ..\Defines.mak
build: version.res manifest.res icons
$(DELPHI_MSBUILD) setup.dproj "/p:Platform=Win32"
$(SENTRYTOOL_DELPHIPREP) $(WIN32_TARGET_PATH)\setup.exe -dpr setup.dpr
$(TDS2DBG) $(WIN32_TARGET_PATH)\setup.exe
$(COPY) $(WIN32_TARGET_PATH)\setup.exe $(DEVELOPER_PROGRAM)
if exist $(WIN32_TARGET_PATH)\setup.dbg $(COPY) $(WIN32_TARGET_PATH)\setup.dbg $(DEVELOPER_DEBUGPATH)\devsetup.dbg
-del $(WIN32_TARGET_PATH)\devsetup.dbg
if exist $(WIN32_TARGET_PATH)\setup.dbg ren $(WIN32_TARGET_PATH)\setup.dbg devsetup.dbg
setup_dialog.res:
rc setup_dialog.rc
icons:
rc icons.rc
clean: def-clean
rem if exist icons\icons.res del icons\icons.res
signcode:
rem SIGNCODE /d "Keyman Developer Setup" $(DEVELOPER_PROGRAM)\setup.exe
wrap-symbols:
# This is slightly non-standard due to renamed devsetup.dbg above
# we should be able to clean this up in the future when we remove the
# zipped debug symbols
$(SYMSTORE) $(DEVELOPER_PROGRAM)\setup.exe /t keyman-developer
$(SYMSTORE) $(DEVELOPER_ROOT)\src\setup\setup.dbg /t keyman-developer
test-manifest:
# test that (a) linked manifest exists and correct, and (b) has uiAccess=true
$(MT) -nologo -inputresource:$(DEVELOPER_PROGRAM)\setup.exe -validate_manifest
install:
@rem
!include ..\Target.mak

View file

@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe "Build Keyman Developer Setup" clean configure build test
builder_parse "$@"

View file

@ -1,99 +0,0 @@
#
# TIKE Makefile
#
!include ..\Defines.mak
build: version.res manifest.res icons dirs xml xsd pull-core
cd $(DEVELOPER_ROOT)\src\tike
$(COPY) $(KEYMAN_ROOT)\common\resources\fonts\keymanweb-osk.ttf $(DEVELOPER_ROOT)\src\tike\xml\layoutbuilder\keymanweb-osk.ttf
$(DELPHI_MSBUILD) tike.dproj "/p:Platform=Win32"
$(SENTRYTOOL_DELPHIPREP) $(WIN32_TARGET_PATH)\tike.exe -dpr tike.dpr
$(TDS2DBG) $(WIN32_TARGET_PATH)\tike.exe
$(COPY) $(WIN32_TARGET_PATH)\tike.exe $(DEVELOPER_PROGRAM)
$(COPY) kmlmc.cmd $(DEVELOPER_PROGRAM)
$(COPY) kmlmp.cmd $(DEVELOPER_PROGRAM)
$(COPY) kmc.cmd $(DEVELOPER_PROGRAM)
$(COPY) $(KEYMAN_ROOT)\core\build\x86\$(TARGET_PATH)\src\$(KEYMANCORE).dll $(DEVELOPER_PROGRAM)
if exist $(WIN32_TARGET_PATH)\tike.dbg $(COPY) $(WIN32_TARGET_PATH)\tike.dbg $(DEVELOPER_DEBUGPATH)
$(COPY) $(KEYMAN_ROOT)\core\build\x86\$(TARGET_PATH)\src\$(KEYMANCORE).dll $(WIN32_TARGET_PATH)
$(COPY) $(KEYMAN_ROOT)\core\build\x86\$(TARGET_PATH)\src\$(KEYMANCORE).pdb $(WIN32_TARGET_PATH)
xsd:
$(COPY) $(KEYMAN_ROOT)\common\schemas\kps\kps.xsd $(DEVELOPER_PROGRAM)
xml: pull-npm sentry-init.js
cd $(DEVELOPER_ROOT)\src\tike\xml
-del /q $(DEVELOPER_PROGRAM)\xml\*
xcopy /s /y * $(DEVELOPER_PROGRAM)\xml
cd $(DEVELOPER_ROOT)\src\tike
sentry-init.js:
cd $(DEVELOPER_ROOT)\src\tike\xml\app\lib\sentry
$(MKVER_U) init.js.in init.js
pull-core:
cd $(KEYMAN_ROOT)\core
!ifdef GIT_BASH_FOR_KEYMAN
!ifdef DEBUG
$(GIT_BASH_FOR_KEYMAN) build.sh --no-tests clean:x86 configure:x86 build:x86 --debug
!else
$(GIT_BASH_FOR_KEYMAN) build.sh --no-tests clean:x86 configure:x86 build:x86
!endif
!else
!ifdef DEBUG
start /wait ./build.sh --no-tests clean:x86 configure:x86 build:x86 --debug
!else
start /wait ./build.sh --no-tests clean:x86 configure:x86 build:x86
!endif
!endif
pull-npm:
#
# Grab the version of Monaco and any other node modules
# that we want to use in Keyman Developer, and copy into
# lib folder for sane paths. If we use more npm modules in the
# future, we may consolidate the paths at that time.
#
cd $(DEVELOPER_ROOT)\src\tike\xml\app
npm install
-rd /s/q $(DEVELOPER_ROOT)\src\tike\xml\app\lib\monaco
xcopy /i /s /y $(DEVELOPER_ROOT)\src\tike\xml\app\node_modules\monaco-editor\min $(DEVELOPER_ROOT)\src\tike\xml\app\lib\monaco\min
xcopy /i /s /y $(DEVELOPER_ROOT)\src\tike\xml\app\node_modules\monaco-editor\min-maps $(DEVELOPER_ROOT)\src\tike\xml\app\lib\monaco\min-maps
icons:
rc icons.rc
clean: def-clean
if exist icons.res del icons.res
signcode:
$(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\tike.exe
$(SIGNCODE) /d "Keyman Core" $(DEVELOPER_PROGRAM)\$(KEYMANCORE).dll
# Sign the Sentry executables and libraries here
$(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\sentry.dll
$(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\sentry.x64.dll
$(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\crashpad_handler.exe
wrap-symbols:
$(SYMSTORE) $(DEVELOPER_PROGRAM)\tike.exe /t keyman-developer
$(SYMSTORE) $(DEVELOPER_DEBUGPATH)\tike.dbg /t keyman-developer
install:
$(COPY) $(DEVELOPER_PROGRAM)\tike.exe "$(INSTALLPATH_KEYMANDEVELOPER)\tike.exe"
$(COPY) $(DEVELOPER_PROGRAM)\$(KEYMANCORE).dll "$(INSTALLPATH_KEYMANDEVELOPER)\$(KEYMANCORE).dll"
test-manifest:
# test that linked manifest exists and correct
$(MT) -nologo -inputresource:$(DEVELOPER_PROGRAM)\tike.exe -validate_manifest
generate-app-wxs:
@echo *******************************************************************************************
@echo The generated ..\inst\monaco_gen.wxs file will require manual merging with the existing
@echo monaco.xws. Existing component GUIDs must be maintained per Windows Installer component
@echo rules (a file at a single location should have a permanent GUID for reference counting).
@echo *******************************************************************************************
$(WIXPATH)\heat.exe dir xml\app\lib\monaco\min\vs -gg -o ..\inst\monaco_gen.wxs -cg MonacoFiles -var var.MonacoSourceDir -dr MonacoTargetDir
!include ..\Target.mak

View file

@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
cd "$THIS_SCRIPT_PATH"
builder_describe "Build Keyman Developer IDE" @/core:x86 clean configure build test publish install
builder_parse "$@"