summaryrefslogtreecommitdiff
path: root/gen.sh
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2020-09-13 12:47:51 +0200
committerLars-Dominik Braun <lars@6xq.net>2020-09-13 14:00:31 +0200
commit1b6e5b491ae717eb096a7d4a68df9f772de577ae (patch)
tree832f5e22ec4a402989b63cea3b5cf51698b540a8 /gen.sh
parent33ba6ccff34c76d5156b9b9cff18463eb8e269c8 (diff)
downloadlulua-1b6e5b491ae717eb096a7d4a68df9f772de577ae.tar.gz
lulua-1b6e5b491ae717eb096a7d4a68df9f772de577ae.tar.bz2
lulua-1b6e5b491ae717eb096a7d4a68df9f772de577ae.zip
winkbd: Make Windows driver compileable with MingGW
Automate the process via GitHub Actions as well. kbd.h can be simplified. Fixes #11.
Diffstat (limited to 'gen.sh')
-rwxr-xr-xgen.sh18
1 files changed, 14 insertions, 4 deletions
diff --git a/gen.sh b/gen.sh
index 490a198..5f4878d 100755
--- a/gen.sh
+++ b/gen.sh
@@ -108,9 +108,6 @@ rule report
rule cp
command = cp \$in \$out
-rule cpR
- command = cp -R \$in \$out
-
rule gz
command = gzip -c \$in > \$out
@@ -123,6 +120,9 @@ rule zipR
rule render-winkbd
command = lulua-render -l ar-lulua winkbd \$out
+rule ninjaC
+ command = ninja -C \$dir
+
### build targets ###
build \$reportdir: mkdir
build \$reportdir/fonts: mkdir
@@ -142,9 +142,19 @@ build \$reportdir/fonts/IBMPlexSansArabic-Thin.woff2: cp \$fontdir/IBMPlexSansAr
build \$osmconvert: configure-make 3rdparty/osmctools
# windows drivers
-build \$tempdir/winkbd: cpR lulua/data/winkbd
+build \$tempdir/winkbd: mkdir lulua/data/winkbd
+EOF
+# Create dependencies for the non-customized files
+for f in $(ls lulua/data/winkbd/); do
+ echo "build \$tempdir/winkbd/$f: cp lulua/data/winkbd/$f || \$tempdir/winkbd"
+ w64infiles+=" \$tempdir/winkbd/$f"
+done
+w64infiles+=" \$tempdir/winkbd/customization.h"
+cat <<EOF
build \$tempdir/winkbd/customization.h: render-winkbd || \$tempdir/winkbd
build \$tempdir/ar-lulua-w64: mkdir
+build \$tempdir/winkbd/System32/kbdarlulua.dll \$tempdir/winkbd/SysWOW64/kbdarlulua.dll: ninjaC | $w64infiles
+ dir = \$tempdir/winkbd
EOF
w64zipfile="System32/kbdarlulua.dll SysWOW64/kbdarlulua.dll README.txt lulua.reg install.bat"