diff --git a/Makefile b/Makefile index bdf3528..e137eb4 100644 --- a/Makefile +++ b/Makefile @@ -33,88 +33,25 @@ init: resources: init windres -o obj/common.$(CPU_ARCH).o res/common.rc windres -o obj/splash_screen.$(CPU_ARCH).o res/splash_screen.rc + windres -o obj/registry.$(CPU_ARCH).o res/registry.rc build: init resources - $(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(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/common.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH).exe src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_nowait.exe src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_nowait_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry.exe src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_nowait.exe src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=0 -DDETECT_REGISTRY=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_nowait_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped.exe src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait.exe src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry.exe src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait.exe src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o + $(CC) $(CFLAGS) -DJAR_FILE_WRAPPED=1 -DDETECT_REGISTRY=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o strip: build strip bin/launch5j_$(CPU_ARCH).exe @@ -125,38 +62,6 @@ strip: build 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 @@ -165,39 +70,8 @@ strip: build 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 rm -f obj/*.o + diff --git a/etc/utils/MakefileGenerator/res/templates/header.mak b/etc/utils/MakefileGenerator/res/templates/header.mak index 67f9257..9da7d90 100644 --- a/etc/utils/MakefileGenerator/res/templates/header.mak +++ b/etc/utils/MakefileGenerator/res/templates/header.mak @@ -33,3 +33,4 @@ init: resources: init windres -o obj/common.$(CPU_ARCH).o res/common.rc windres -o obj/splash_screen.$(CPU_ARCH).o res/splash_screen.rc + windres -o obj/registry.$(CPU_ARCH).o res/registry.rc diff --git a/etc/utils/MakefileGenerator/src/MakefileGenerator.java b/etc/utils/MakefileGenerator/src/MakefileGenerator.java index 75adbb9..d4ba18f 100644 --- a/etc/utils/MakefileGenerator/src/MakefileGenerator.java +++ b/etc/utils/MakefileGenerator/src/MakefileGenerator.java @@ -38,21 +38,9 @@ public class MakefileGenerator { out.println("build: init resources"); for(int wrapped = 0; wrapped < 2; ++wrapped) { for(int registry = 0; registry < 2; ++registry) { - for(int requireJava = 8; requireJava < 12; ++requireJava) { - if(requireJava == 10) { - continue; - } - for(int requireBitness = 0; requireBitness < 65; requireBitness += 32) { - for(int stayAlive = 1; stayAlive > -1; --stayAlive) { - for(int enableSplash = 1; enableSplash > -1; --enableSplash) { - if((registry == 0) && ((requireJava != 8) || (requireBitness != 0))) { - continue; - } - out.println(generateCommand( - filenNames, wrapped, registry, requireJava, - requireBitness, stayAlive, enableSplash)); - } - } + for(int stayAlive = 1; stayAlive > -1; --stayAlive) { + for(int enableSplash = 1; enableSplash > -1; --enableSplash) { + out.println(generateCommand(filenNames, wrapped, registry, stayAlive, enableSplash)); } } } @@ -95,24 +83,20 @@ public class MakefileGenerator { out.println(); } - private static String generateCommand(final List filenNames, final int wrapped, final int registry, final int requireJava, final int requireBitness, final int stayAlive, final int enableSplash) + private static String generateCommand(final List filenNames, final int wrapped, final int registry, final int stayAlive, final int enableSplash) { final String fileName = String.format("bin/launch5j_$(CPU_ARCH)%s.exe", - generateNameSuffix(wrapped, registry, requireJava, requireBitness, stayAlive, enableSplash)); + generateNameSuffix(wrapped, registry, stayAlive, enableSplash)); final StringBuilder cmdLine = new StringBuilder(String.format( "\t$(CC) $(CFLAGS) " + "-DJAR_FILE_WRAPPED=%d " + "-DDETECT_REGISTRY=%d " - + "-DREQUIRE_JAVA=%-2d " - + "-DREQUIRE_BITNESS=%-2d " + "-DSTAY_ALIVE=%d " + "-DENABLE_SPLASH=%d " + "-o %s " + "src/head.c obj/common.$(CPU_ARCH).o", wrapped, registry, - requireJava, - requireBitness, stayAlive, enableSplash, fileName)); @@ -120,12 +104,15 @@ public class MakefileGenerator { if(enableSplash > 0) { append(cmdLine, ' ', "obj/splash_screen.$(CPU_ARCH).o"); } + if(registry > 0) { + append(cmdLine, ' ', "obj/registry.$(CPU_ARCH).o"); + } filenNames.add(fileName); return cmdLine.toString(); } - private static String generateNameSuffix(final int wrapped, final int registry, final int requireJava, final int requireBitness, final int stayAlive, final int enableSplash) { + private static String generateNameSuffix(final int wrapped, final int registry, final int stayAlive, final int enableSplash) { final StringBuilder builder = new StringBuilder(); if(wrapped > 0) { append(builder, '_', "wrapped"); @@ -133,12 +120,6 @@ public class MakefileGenerator { if(registry > 0) { append(builder, '_', "registry"); } - if(requireJava != 8) { - append(builder, '_', String.format("java%d", requireJava)); - } - if(requireBitness != 0) { - append(builder, '_', String.format("only%dbit", requireBitness)); - } if(stayAlive == 0) { append(builder, '_', "nowait"); } diff --git a/res/registry.rc b/res/registry.rc new file mode 100644 index 0000000..554375b --- /dev/null +++ b/res/registry.rc @@ -0,0 +1,37 @@ +/************************************************************/ +/* Launch5j, by LoRd_MuldeR */ +/* Java JAR wrapper for creating Windows native executables */ +/* https://github.com/lordmulder/ */ +/* */ +/* This work has been released under the MIT license. */ +/* Please see LICENSE.TXT for details! */ +/* */ +/* ACKNOWLEDGEMENT */ +/* This project is partly inspired by the Launch4j project: */ +/* https://sourceforge.net/p/launch4j/ */ +/************************************************************/ + +#define APSTUDIO_READONLY_SYMBOLS +#include "WinResrc.h" +#undef APSTUDIO_READONLY_SYMBOLS + +#include "../src/resource.h" + +///////////////////////////////////////////////////////////////////////////// +// Neutral resources +///////////////////////////////////////////////////////////////////////////// +#ifdef _WIN32 +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// Strings +///////////////////////////////////////////////////////////////////////////// + +STRINGTABLE +BEGIN + ID_STR_JAVAMIN L"?" /*min supported JRE version, in "w.x.y.z" format*/ + ID_STR_JAVAMAX L"?" /*max supported JRE version, in "w.x.y.z" format*/ + ID_STR_BITNESS L"?" /*required JRE "bitness", i.e. "32" or "64"*/ +END diff --git a/src/head.c b/src/head.c index 89172e4..cb508aa 100644 --- a/src/head.c +++ b/src/head.c @@ -35,12 +35,6 @@ #ifndef DETECT_REGISTRY #define DETECT_REGISTRY 0 #endif -#ifndef REQUIRE_JAVA -#define REQUIRE_JAVA 8 -#endif -#ifndef REQUIRE_BITNESS -#define REQUIRE_BITNESS 0 -#endif #ifndef ENABLE_SPLASH #define ENABLE_SPLASH 1 #endif @@ -51,26 +45,10 @@ #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; -static const ULONGLONG JAVA_MINIMUM_VERSION = ((ULONGLONG)(REQUIRE_JAVA)) << 48; /* ======================================================================== */ /* String routines */ @@ -296,6 +274,18 @@ static wchar_t *load_string(const HINSTANCE hinstance, const UINT id) return NULL; } +static DWORD load_uint32(const HINSTANCE hinstance, const UINT id, const DWORD fallback) +{ + DWORD value = fallback; + const wchar_t *const str = load_string(hinstance, id); + if(NOT_EMPTY(str)) + { + value = wcstoul(str, NULL, 10); + } + free((void*)str); + return value; +} + /* ======================================================================== */ /* Registry routines */ /* ======================================================================== */ @@ -504,6 +494,8 @@ static const BOOL set_current_directory(const wchar_t *const path) typedef struct { const BOOL flag_x64; + const ULONGLONG required_ver_min; + const ULONGLONG required_ver_max; const HKEY root_key; const wchar_t *const base_reg_path; ULONGLONG version; @@ -614,29 +606,26 @@ static const wchar_t *detect_java_runtime_verify(const BOOL flag_x64, const HKEY static BOOL detect_java_runtime_callback(const wchar_t *const key_name, const ULONG_PTR user_data) { + java_home_t *const context_ptr = (java_home_t*) user_data; const ULONGLONG version = parse_java_version(key_name); - if(version > JAVA_MINIMUM_VERSION) + if ((version >= context_ptr->required_ver_min) && (version < context_ptr->required_ver_max) && (version > context_ptr->version)) { - java_home_t *const ptr = (java_home_t*) user_data; - if(version > ptr->version) + wchar_t *const full_reg_path = awprintf(L"%ls\\%ls", context_ptr->base_reg_path, key_name); + if (full_reg_path) { - wchar_t *const full_reg_path = awprintf(L"%ls\\%ls", ptr->base_reg_path, key_name); - if (full_reg_path) + const wchar_t *const java_runtime_path = detect_java_runtime_verify(context_ptr->flag_x64, context_ptr->root_key, full_reg_path); + if(java_runtime_path) { - const wchar_t *const java_runtime_path = detect_java_runtime_verify(ptr->flag_x64, ptr->root_key, full_reg_path); - if(java_runtime_path) - { - SET_STRING(ptr->runtime_path, java_runtime_path); - ptr->version = version; - } - free(full_reg_path); + SET_STRING(context_ptr->runtime_path, java_runtime_path); + context_ptr->version = version; } + free(full_reg_path); } } return TRUE; } -static const wchar_t *detect_java_runtime_loop(const BOOL flag_x64) +static const wchar_t *detect_java_runtime_loop(const BOOL flag_x64, const ULONGLONG required_ver_min, const ULONGLONG required_ver_max) { static const wchar_t *const REG_KEY_PATHS[2U][3U] = { @@ -651,38 +640,70 @@ static const wchar_t *detect_java_runtime_loop(const BOOL flag_x64) { for (size_t j = 0; REG_KEY_PATHS[i][j]; ++j) { - java_home_t state = { flag_x64, HKEY_LOCAL_MACHINE, REG_KEY_PATHS[i][j], version, runtime_path }; + java_home_t state = { flag_x64, required_ver_min, required_ver_max, HKEY_LOCAL_MACHINE, REG_KEY_PATHS[i][j], version, NULL }; reg_enum_subkeys(HKEY_LOCAL_MACHINE, REG_KEY_PATHS[i][j], flag_x64, detect_java_runtime_callback, (ULONG_PTR)&state); - version = state.version; - runtime_path = state.runtime_path; + if((state.version > version) && state.runtime_path) + { + version = state.version; + SET_STRING(runtime_path, state.runtime_path); + } + else + { + free((void*)state.runtime_path); + } } - if ((version > JAVA_MINIMUM_VERSION) && runtime_path) + if ((version >= required_ver_min) && (version < required_ver_max) && runtime_path) { return runtime_path; } } + free((void*)runtime_path); return NULL; } -static const wchar_t *detect_java_runtime(void) +static const wchar_t *detect_java_runtime(const DWORD required_bitness, const ULONGLONG required_ver_min, const ULONGLONG required_ver_max) { - const wchar_t *java_runtime; -#if (REQUIRE_BITNESS != 32) - if(java_runtime = running_on_64bit() ? detect_java_runtime_loop(TRUE) : NULL) + const wchar_t *java_runtime_path; + if (required_bitness != 32U) { - return java_runtime; + if (java_runtime_path = running_on_64bit() ? detect_java_runtime_loop(TRUE, required_ver_min, required_ver_max) : NULL) + { + return java_runtime_path; + } } -#endif -#if (REQUIRE_BITNESS != 64) - if(java_runtime = detect_java_runtime_loop(FALSE)) + if (required_bitness != 64U) { - return java_runtime; + if(java_runtime_path = detect_java_runtime_loop(FALSE, required_ver_min, required_ver_max)) + { + return java_runtime_path; + } } -#endif return NULL; } +static const ULONGLONG load_java_version(const HINSTANCE hinstance, const UINT id, const ULONGLONG fallback) +{ + ULONGLONG value = fallback; + const wchar_t *const str = load_string(hinstance, id); + if(NOT_EMPTY(str)) + { + const ULONGLONG temp = parse_java_version(str); + if(temp >= (5ull << 48)) + { + value = temp; + } + } + free((void*)str); + return value; +} + +static DWORD load_java_bitness(const HINSTANCE hinstance, const UINT id) +{ + const DWORD value = load_uint32(hinstance, id, 0U); + return ((value == 32U) || (value == 64U)) ? value : 0U; +} + /* ======================================================================== */ /* Splash screen */ /* ======================================================================== */ @@ -739,14 +760,15 @@ find_window_t; static BOOL CALLBACK enum_windows_callback(const HWND hwnd, const LPARAM lparam) { - DWORD process_id = MAXDWORD; - find_window_t *const ptr = (find_window_t*) lparam; + find_window_t *const context_ptr = (find_window_t*)lparam; + const DWORD required_process_id = context_ptr->process_id; if(IsWindowVisible(hwnd)) { + DWORD process_id = MAXDWORD; GetWindowThreadProcessId(hwnd, &process_id); - if(process_id == ptr->process_id) + if(process_id == required_process_id) { - ptr->hwnd = hwnd; + context_ptr->hwnd = hwnd; return FALSE; } } @@ -836,26 +858,30 @@ static int show_message_format(HWND hwnd, const DWORD flags, const wchar_t *cons return result; } -static void show_jre_download_notice(const HWND hwnd, const wchar_t *const title) +static void show_jre_download_notice(const HWND hwnd, const wchar_t *const title, const DWORD required_bitness, const ULONGLONG required_ver) { - const DWORD REQUIRED_VERSION[] = + const DWORD req_version_comp[] = { - (JAVA_MINIMUM_VERSION >> 48) & 0xFFFF, (JAVA_MINIMUM_VERSION >> 32) & 0xFFFF, - (JAVA_MINIMUM_VERSION >> 16) & 0xFFFF, JAVA_MINIMUM_VERSION & 0xFFFF + (required_ver >> 48) & 0xFFFF, (required_ver >> 32) & 0xFFFF, (required_ver >> 16) & 0xFFFF, required_ver & 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) - ? awprintf(L"%u.%u.%u", REQUIRED_VERSION[0U], REQUIRED_VERSION[1U], REQUIRED_VERSION[2U]) - : awprintf(L"%u.%u", REQUIRED_VERSION[0U], REQUIRED_VERSION[1U])); + wchar_t *const version_str = (req_version_comp[3U] != 0U) + ? awprintf(L"%u.%u.%u_%u", req_version_comp[0U], req_version_comp[1U], req_version_comp[2U], req_version_comp[3U]) + : ((req_version_comp[2U] != 0U) + ? awprintf(L"%u.%u.%u", req_version_comp[0U], req_version_comp[1U], req_version_comp[2U]) + : awprintf(L"%u.%u", req_version_comp[0U], req_version_comp[1U])); if(version_str) { - 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) + const int result = (required_bitness == 0U) + ? show_message_format(hwnd, MB_ICONWARNING | MB_OKCANCEL | MB_TOPMOST, title, + L"This application requires the Java Runtime Environment, version %ls, or a compatible newer version.\n\n" + L"We recommend downloading the OpenJDK runtime here:\n%ls", + version_str, JRE_DOWNLOAD_LINK) + : show_message_format(hwnd, MB_ICONWARNING | MB_OKCANCEL | MB_TOPMOST, title, + L"This application requires the Java Runtime Environment, version %ls, or a compatible newer version.\n\n" + L"Only the %u-Bit (%ls) version of the JRE is supported!\n\n", + L"We recommend downloading the OpenJDK runtime:\n%ls", + version_str, required_bitness, (required_bitness == 64) ? L"x64" : L"x86", JRE_DOWNLOAD_LINK); + if (result == IDOK) { ShellExecuteW(hwnd, NULL, JRE_DOWNLOAD_LINK, NULL, NULL, SW_SHOW); } @@ -905,6 +931,8 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine { int result = -1; const wchar_t *app_heading = NULL, *executable_path = NULL, *executable_directory = NULL, *jarfile_path = NULL, *java_runtime_path = NULL, *jvm_extra_args = NULL, *cmd_extra_args = NULL, *command_line = NULL; + DWORD java_required_bitness = 0U; + ULONGLONG java_required_ver_min = 0ULL, java_required_ver_max = 0ULL; HGDIOBJ splash_image = NULL; PROCESS_INFORMATION process_info; STARTUPINFOW startup_info; @@ -968,10 +996,13 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine // Find the Java runtime executable path (possibly from the registry) #if DETECT_REGISTRY - if (!(java_runtime_path = detect_java_runtime())) + java_required_ver_min = load_java_version(hInstance, ID_STR_JAVAMIN, (8ull << 48)); + java_required_ver_max = load_java_version(hInstance, ID_STR_JAVAMAX, MAXULONGLONG); + java_required_bitness = load_java_bitness(hInstance, ID_STR_BITNESS); + if (!(java_runtime_path = detect_java_runtime(java_required_bitness, java_required_ver_min, java_required_ver_max))) { show_message(hwnd, MB_ICONERROR | MB_TOPMOST, APP_HEADING, L"Java Runtime Environment (JRE) could not be found!"); - show_jre_download_notice(hwnd, APP_HEADING); + show_jre_download_notice(hwnd, APP_HEADING, java_required_bitness, java_required_ver_min); goto cleanup; } #else diff --git a/src/resource.h b/src/resource.h index b0f3f55..5a8a4e6 100644 --- a/src/resource.h +++ b/src/resource.h @@ -21,3 +21,6 @@ #define ID_STR_HEADING 1 #define ID_STR_JVMARGS 2 #define ID_STR_CMDARGS 3 +#define ID_STR_JAVAMIN 4 +#define ID_STR_JAVAMAX 5 +#define ID_STR_BITNESS 6