From 5105236cf2d14aaf9c8d1104961410aa1973f180 Mon Sep 17 00:00:00 2001 From: LoRd_MuldeR Date: Mon, 28 Sep 2020 13:30:57 +0200 Subject: [PATCH] Added additional build configuration options. --- Makefile | 199 ++++++++++++++++++++++++++++++++++++++++++++--------- src/head.c | 75 +++++++++++--------- 2 files changed, 210 insertions(+), 64 deletions(-) diff --git a/Makefile b/Makefile index aa2d73a..a4aedc6 100644 --- a/Makefile +++ b/Makefile @@ -12,14 +12,12 @@ ############################################################ ifeq ($(words $(filter x86_64-%,$(shell $(CXX) -dumpmachine))),0) - EXE_ARCH = x86 - DEFAULT_MARCH := i586 + CPU_ARCH := i586 else - EXE_ARCH = x64 - DEFAULT_MARCH := x86-64 + CPU_ARCH := x86-64 endif -MARCH ?= $(DEFAULT_MARCH) +MARCH ?= $(CPU_ARCH) MTUNE ?= generic CFLAGS = -Os -static -municode -mwindows -march=$(MARCH) -mtune=$(MTUNE) @@ -33,38 +31,173 @@ init: mkdir -p obj resources: init - windres -o obj/icon.$(EXE_ARCH).o res/icon.rc - windres -o obj/splash_screen.$(EXE_ARCH).o res/splash_screen.rc - windres -o obj/version.$(EXE_ARCH).o res/version.rc + windres -o obj/icon.$(CPU_ARCH).o res/icon.rc + windres -o obj/splash_screen.$(CPU_ARCH).o res/splash_screen.rc + windres -o obj/version.$(CPU_ARCH).o res/version.rc build: init resources - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o obj/splash_screen.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).nosplash.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).nowait.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o obj/splash_screen.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).nowait_nosplash.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).wrapped.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o obj/splash_screen.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).wrapped_nosplash.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).wrapped_nowait.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o obj/splash_screen.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).wrapped_nowait_nosplash.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o obj/splash_screen.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_nowait.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o obj/splash_screen.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_nowait_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_wrapped.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o obj/splash_screen.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_wrapped_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_wrapped_nowait.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o obj/splash_screen.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_wrapped_nowait_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_java11.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o obj/splash_screen.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_java11_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_java11_nowait.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o obj/splash_screen.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_java11_nowait_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_java11_wrapped.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o obj/splash_screen.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_java11_wrapped_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_java11_wrapped_nowait.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o obj/splash_screen.$(EXE_ARCH).o - $(CC) $(CFLAGS) -o bin/launch5j_$(EXE_ARCH).registry_java11_wrapped_nowait_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/version.$(EXE_ARCH).o obj/icon.$(EXE_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=0 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH).exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=0 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=0 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=0 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_only32bit.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_only32bit_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_only32bit_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_only32bit_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_only64bit.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_only64bit_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_only64bit_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_only64bit_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_java9.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_java9_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_java9_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_java9_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_java9_only32bit.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_java9_only32bit_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_java9_only32bit_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_java9_only32bit_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_java9_only64bit.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_java9_only64bit_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_java9_only64bit_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_java9_only64bit_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_java11.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_java11_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_java11_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_java11_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_java11_only32bit.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_java11_only32bit_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_java11_only32bit_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_java11_only32bit_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_java11_only64bit.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_java11_only64bit_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_java11_only64bit_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_java11_only64bit_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=0 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=0 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=0 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=0 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_only32bit.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_only32bit_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_only32bit_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_only32bit_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_only64bit.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_only64bit_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_only64bit_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=8 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_only64bit_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only32bit.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only32bit_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only32bit_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only32bit_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only64bit.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only64bit_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only64bit_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=9 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only64bit_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only32bit.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only32bit_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only32bit_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=32 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only32bit_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only64bit.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only64bit_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only64bit_nowait.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DREQUIRE_JAVA=11 -DREQUIRE_BITNESS=64 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only64bit_nowait_nosplash.exe src/head.c obj/version.$(CPU_ARCH).o obj/icon.$(CPU_ARCH).o strip: build - find bin -type f -name '*.exe' -exec strip -v {} \; + strip bin/launch5j_$(CPU_ARCH).exe + strip bin/launch5j_$(CPU_ARCH)_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry.exe + strip bin/launch5j_$(CPU_ARCH)_registry_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_registry_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_only32bit.exe + strip bin/launch5j_$(CPU_ARCH)_registry_only32bit_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_only32bit_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_registry_only32bit_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_only64bit.exe + strip bin/launch5j_$(CPU_ARCH)_registry_only64bit_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_only64bit_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_registry_only64bit_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java9.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java9_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java9_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java9_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java9_only32bit.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java9_only32bit_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java9_only32bit_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java9_only32bit_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java9_only64bit.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java9_only64bit_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java9_only64bit_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java9_only64bit_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java11.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java11_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java11_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java11_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java11_only32bit.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java11_only32bit_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java11_only32bit_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java11_only32bit_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java11_only64bit.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java11_only64bit_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java11_only64bit_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_registry_java11_only64bit_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_only32bit.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_only32bit_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_only32bit_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_only32bit_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_only64bit.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_only64bit_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_only64bit_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_only64bit_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only32bit.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only32bit_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only32bit_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only32bit_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only64bit.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only64bit_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only64bit_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java9_only64bit_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only32bit.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only32bit_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only32bit_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only32bit_nowait_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only64bit.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only64bit_nosplash.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only64bit_nowait.exe + strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_java11_only64bit_nowait_nosplash.exe clean: init rm -f bin/*.exe diff --git a/src/head.c b/src/head.c index 63b6638..28b4e86 100644 --- a/src/head.c +++ b/src/head.c @@ -29,49 +29,58 @@ #include "resource.h" // Options -#ifndef ENABLE_SPLASH -#define ENABLE_SPLASH 1 -#endif #ifndef JAR_FILE_WRAPPED #define JAR_FILE_WRAPPED 0 #endif -#ifndef WAIT_FOR_WINDOW -#define WAIT_FOR_WINDOW 1 -#endif -#ifndef STAY_ALIVE -#define STAY_ALIVE 1 -#endif #ifndef DETECT_REGISTRY #define DETECT_REGISTRY 0 #endif -#ifndef PREFER_X64 -#define PREFER_X64 1 +#ifndef REQUIRE_JAVA +#define REQUIRE_JAVA 8 #endif -#ifndef REQUIRE_JAVA11 -#define REQUIRE_JAVA11 0 +#ifndef REQUIRE_BITNESS +#define REQUIRE_BITNESS 0 +#endif +#ifndef ENABLE_SPLASH +#define ENABLE_SPLASH 1 +#endif +#ifndef STAY_ALIVE +#define STAY_ALIVE 1 +#endif +#ifndef WAIT_FOR_WINDOW +#define WAIT_FOR_WINDOW 1 +#endif + +// Sanity check +#if (REQUIRE_JAVA < 5) || (REQUIRE_JAVA > 255) +#error Invalid REQUIRE_JAVA value! +#endif +#if (REQUIRE_BITNESS != 0) && (REQUIRE_BITNESS != 32) && (REQUIRE_BITNESS != 64) +#error Invalid REQUIRE_BITNESS value! +#endif + +// Dependant +#if (REQUIRE_BITNESS == 64) +#define REQUIRE_BITNESS_CPUARCH "x64" +#else +#define REQUIRE_BITNESS_CPUARCH "x86" #endif // Const static const wchar_t *const JRE_RELATIVE_PATH = L"runtime\\bin\\javaw.exe"; static const wchar_t *const JRE_DOWNLOAD_LINK = L"https://adoptopenjdk.net/"; static const DWORD SPLASH_SCREEN_TIMEOUT = 30000U; -#if REQUIRE_JAVA11 -static const ULONGLONG JAVA_MINIMUM_VERSION = 0x000B000000000000ull; -#else -static const ULONGLONG JAVA_MINIMUM_VERSION = 0x0008000000000000ull; -#endif - -// Version -static const DWORD REQUIRED_VERSION[] = -{ - (JAVA_MINIMUM_VERSION >> 48) & 0xFFFF, (JAVA_MINIMUM_VERSION >> 32) & 0xFFFF, (JAVA_MINIMUM_VERSION >> 16) & 0xFFFF, JAVA_MINIMUM_VERSION & 0xFFFF -}; +static const ULONGLONG JAVA_MINIMUM_VERSION = ((ULONGLONG)(REQUIRE_JAVA)) << 48; /* ======================================================================== */ /* String routines */ /* ======================================================================== */ +#define XSTR(S) STR(S) +#define STR(S) #S + #define NOT_EMPTY(STR) ((STR) && ((STR)[0U])) + #define SET_STRING(DST,SRC) do \ { \ if((DST)) { free((void*)(DST)); } \ @@ -457,7 +466,7 @@ static ULONGLONG parse_java_version(const wchar_t *const version_str) wchar_t *const temp = wcsdup(version_str); if (temp) { - static const wchar_t *const delimiters = L".,_"; + static const wchar_t *const delimiters = L".,_+"; BOOL first_token = TRUE; const wchar_t *token = wcstok(temp, delimiters); while (token) @@ -571,21 +580,17 @@ static const wchar_t *detect_java_runtime_loop(const BOOL flag_x64) static const wchar_t *detect_java_runtime(void) { const wchar_t *java_runtime; -#if PREFER_X64 +#if (REQUIRE_BITNESS != 32) if(java_runtime = running_on_64bit() ? detect_java_runtime_loop(TRUE) : NULL) { return java_runtime; } #endif +#if (REQUIRE_BITNESS != 64) if(java_runtime = detect_java_runtime_loop(FALSE)) { return java_runtime; } -#if !PREFER_X64 - if(java_runtime = running_on_64bit() ? detect_java_runtime_loop(TRUE) : NULL) - { - return java_runtime; - } #endif return NULL; } @@ -745,6 +750,11 @@ static int show_message_format(HWND hwnd, const DWORD flags, const wchar_t *cons static void show_jre_download_notice(const HWND hwnd) { + const DWORD REQUIRED_VERSION[] = + { + (JAVA_MINIMUM_VERSION >> 48) & 0xFFFF, (JAVA_MINIMUM_VERSION >> 32) & 0xFFFF, + (JAVA_MINIMUM_VERSION >> 16) & 0xFFFF, JAVA_MINIMUM_VERSION & 0xFFFF + }; wchar_t *const version_str = (REQUIRED_VERSION[3U] != 0U) ? awprintf(L"%u.%u.%u_%u", REQUIRED_VERSION[0U], REQUIRED_VERSION[1U], REQUIRED_VERSION[2U], REQUIRED_VERSION[3U]) : ((REQUIRED_VERSION[2U] != 0U) @@ -754,6 +764,9 @@ static void show_jre_download_notice(const HWND hwnd) { if (show_message_format(hwnd, MB_ICONWARNING | MB_OKCANCEL | MB_TOPMOST, L"JRE not found", L"This application requires the Java Runtime Environment, version %ls, or a compatible newer version.\n\n" +#if (REQUIRE_BITNESS != 0) + L"Only the " XSTR(REQUIRE_BITNESS) "-Bit (" REQUIRE_BITNESS_CPUARCH ") version of the JRE is supported!\n\n" +#endif L"We recommend downloading the OpenJDK runtime here:\n%ls", version_str, JRE_DOWNLOAD_LINK) == IDOK) { ShellExecuteW(hwnd, NULL, JRE_DOWNLOAD_LINK, NULL, NULL, SW_SHOW);