Compare commits
10 Commits
d95313cd98
...
0a36344f49
Author | SHA1 | Date | |
---|---|---|---|
0a36344f49 | |||
02931280d0 | |||
9d27eb5a98 | |||
2d5b01092b | |||
656d4145c1 | |||
735a0839ee | |||
548787d7b2 | |||
60916768ac | |||
bee745b199 | |||
928887d979 |
@ -1,4 +1,4 @@
|
||||
Copyright 2020 LoRd_MuldeR <mulder2@gmx.de>
|
||||
Copyright 2024 LoRd_MuldeR <mulder2@gmx.de>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
393
Makefile
393
Makefile
@ -56,16 +56,17 @@ initialize:
|
||||
|
||||
.PHONY: manifests
|
||||
manifests: initialize
|
||||
mkdir -p $(@D)
|
||||
@mkdir -p tmp/assets
|
||||
sed -e 's/$${{version}}/$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH).$(BUILDNO)/g' -e 's/$${{processorArchitecture}}/$(CPU_ARCH)/g' res/assets/manifest-console.xml > tmp/assets/manifest-console.$(CPU_ARCH).xml
|
||||
sed -e 's/$${{version}}/$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH).$(BUILDNO)/g' -e 's/$${{processorArchitecture}}/$(CPU_ARCH)/g' res/assets/manifest-windows.xml > tmp/assets/manifest-windows.$(CPU_ARCH).xml
|
||||
|
||||
.PHONY: resources
|
||||
resources: manifests
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -o obj/common-console.$(CPU_ARCH).o res/common.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -o obj/common-windows.$(CPU_ARCH).o res/common.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -o obj/splash_screen.$(CPU_ARCH).o res/splash_screen.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -o obj/common.$(CPU_ARCH).o res/common.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -o obj/manifest-console.$(CPU_ARCH).o res/manifest-console.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -o obj/manifest-windows.$(CPU_ARCH).o res/manifest-windows.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -o obj/registry.$(CPU_ARCH).o res/registry.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -o obj/splash_screen.$(CPU_ARCH).o res/splash_screen.rc
|
||||
|
||||
.PHONY: clean
|
||||
clean: initialize
|
||||
@ -77,338 +78,338 @@ clean: initialize
|
||||
# Binaries
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.PHONY: l5j_AC5E0F7B
|
||||
l5j_AC5E0F7B: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH).exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_B855
|
||||
launch5j_B855: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH).exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH).exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_D3650C28
|
||||
l5j_D3650C28: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_A2FE
|
||||
launch5j_A2FE: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_07E2C001
|
||||
l5j_07E2C001: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nosplash.exe src/head.c obj/common-windows.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_D99E
|
||||
launch5j_D99E: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nosplash.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_1A7CF93E
|
||||
l5j_1A7CF93E: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nosplash_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_6DCE
|
||||
launch5j_6DCE: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nosplash_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nosplash_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_E528C43C
|
||||
l5j_E528C43C: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nowait.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_9E54
|
||||
launch5j_9E54: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nowait.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nowait.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_F3DBFECB
|
||||
l5j_F3DBFECB: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nowait_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_1CDC
|
||||
launch5j_1CDC: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nowait_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nowait_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_3714ED45
|
||||
l5j_3714ED45: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nowait_nosplash.exe src/head.c obj/common-windows.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_459A
|
||||
launch5j_459A: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nowait_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nowait_nosplash.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_8EB7DCEA
|
||||
l5j_8EB7DCEA: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nowait_nosplash_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_AA99
|
||||
launch5j_AA99: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nowait_nosplash_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nowait_nosplash_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_A6ADF807
|
||||
l5j_A6ADF807: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_registry.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_2F4C
|
||||
launch5j_2F4C: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_registry.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_registry.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_FD9D0A03
|
||||
l5j_FD9D0A03: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_registry_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_1A0D
|
||||
launch5j_1A0D: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_registry_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_registry_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_715A4611
|
||||
l5j_715A4611: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_registry_nosplash.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_9AA2
|
||||
launch5j_9AA2: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_registry_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_registry_nosplash.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_2342BF21
|
||||
l5j_2342BF21: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_registry_nosplash_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_7178
|
||||
launch5j_7178: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_registry_nosplash_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_registry_nosplash_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_CA4AEEEE
|
||||
l5j_CA4AEEEE: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_registry_nowait.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_A25D
|
||||
launch5j_A25D: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_registry_nowait.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_registry_nowait.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_CD6A91A5
|
||||
l5j_CD6A91A5: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_registry_nowait_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_20DF
|
||||
launch5j_20DF: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_registry_nowait_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_registry_nowait_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_9112B169
|
||||
l5j_9112B169: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_registry_nowait_nosplash.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_8568
|
||||
launch5j_8568: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_registry_nowait_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_registry_nowait_nosplash.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_0BF455CD
|
||||
l5j_0BF455CD: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_registry_nowait_nosplash_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_2BCA
|
||||
launch5j_2BCA: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_registry_nowait_nosplash_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_registry_nowait_nosplash_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_A92217A7
|
||||
l5j_A92217A7: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_7B70
|
||||
launch5j_7B70: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_5C289D36
|
||||
l5j_5C289D36: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_91AC
|
||||
launch5j_91AC: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_E2BC6FC3
|
||||
l5j_E2BC6FC3: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_nosplash.exe src/head.c obj/common-windows.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_FA0C
|
||||
launch5j_FA0C: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_nosplash.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_F8FAA925
|
||||
l5j_F8FAA925: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_nosplash_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_2559
|
||||
launch5j_2559: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_nosplash_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_nosplash_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_BD28CD8F
|
||||
l5j_BD28CD8F: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_2EFE
|
||||
launch5j_2EFE: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_nowait.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_3B402EED
|
||||
l5j_3B402EED: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_8F9C
|
||||
launch5j_8F9C: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_nowait_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_E3F9AD8D
|
||||
l5j_E3F9AD8D: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait_nosplash.exe src/head.c obj/common-windows.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_3478
|
||||
launch5j_3478: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_nowait_nosplash.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_66F05454
|
||||
l5j_66F05454: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait_nosplash_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_4F5B
|
||||
launch5j_4F5B: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait_nosplash_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_nowait_nosplash_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_33F9ED38
|
||||
l5j_33F9ED38: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_2A1E
|
||||
launch5j_2A1E: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_registry.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_5E944098
|
||||
l5j_5E944098: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_FE04
|
||||
launch5j_FE04: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_94CDE204
|
||||
l5j_94CDE204: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nosplash.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_2BCE
|
||||
launch5j_2BCE: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_nosplash.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_7A0A8164
|
||||
l5j_7A0A8164: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nosplash_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_9D63
|
||||
launch5j_9D63: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nosplash_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_nosplash_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_C5E0DAF5
|
||||
l5j_C5E0DAF5: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_F5D7
|
||||
launch5j_F5D7: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_4ABEF3E6
|
||||
l5j_4ABEF3E6: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_33A4
|
||||
launch5j_33A4: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_F7A60AA5
|
||||
l5j_F7A60AA5: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_nosplash.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_D3FD
|
||||
launch5j_D3FD: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_nosplash.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_nosplash.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_AA445906
|
||||
l5j_AA445906: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_nosplash_noenc.exe src/head.c obj/common-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
.PHONY: launch5j_D36F
|
||||
launch5j_D36F: resources
|
||||
$(CC) $(CFLAGS) -mwindows -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_nosplash_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-windows.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o -lcomctl32
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_nosplash_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_E5119C07
|
||||
l5j_E5119C07: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui.exe src/head.c obj/common-console.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_F945
|
||||
launch5j_F945: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_05FC33A2
|
||||
l5j_05FC33A2: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_noenc.exe src/head.c obj/common-console.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_4745
|
||||
launch5j_4745: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_FD1A2285
|
||||
l5j_FD1A2285: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_nowait.exe src/head.c obj/common-console.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_01E0
|
||||
launch5j_01E0: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_nowait.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_nowait.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_0A8603AF
|
||||
l5j_0A8603AF: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_nowait_noenc.exe src/head.c obj/common-console.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_78AA
|
||||
launch5j_78AA: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_nowait_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_nowait_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_04592BD0
|
||||
l5j_04592BD0: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_registry.exe src/head.c obj/common-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_B8C6
|
||||
launch5j_B8C6: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_registry.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_registry.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_CF815DD1
|
||||
l5j_CF815DD1: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_registry_noenc.exe src/head.c obj/common-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_3848
|
||||
launch5j_3848: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_registry_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_registry_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_15FAE2C7
|
||||
l5j_15FAE2C7: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_registry_nowait.exe src/head.c obj/common-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_778B
|
||||
launch5j_778B: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_registry_nowait.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_registry_nowait.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_5256A700
|
||||
l5j_5256A700: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_registry_nowait_noenc.exe src/head.c obj/common-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_627C
|
||||
launch5j_627C: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_registry_nowait_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_registry_nowait_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_735DFE78
|
||||
l5j_735DFE78: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped.exe src/head.c obj/common-console.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_66EE
|
||||
launch5j_66EE: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_wrapped.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_4897DF6D
|
||||
l5j_4897DF6D: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_noenc.exe src/head.c obj/common-console.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_9FFA
|
||||
launch5j_9FFA: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_wrapped_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_C11CE462
|
||||
l5j_C11CE462: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_nowait.exe src/head.c obj/common-console.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_7C79
|
||||
launch5j_7C79: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_nowait.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_wrapped_nowait.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_00128557
|
||||
l5j_00128557: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_nowait_noenc.exe src/head.c obj/common-console.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_2928
|
||||
launch5j_2928: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_nowait_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_wrapped_nowait_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_7B89D793
|
||||
l5j_7B89D793: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_registry.exe src/head.c obj/common-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_8EFD
|
||||
launch5j_8EFD: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_registry.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_wrapped_registry.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_B07DBB1C
|
||||
l5j_B07DBB1C: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_registry_noenc.exe src/head.c obj/common-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_59FE
|
||||
launch5j_59FE: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_registry_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_wrapped_registry_noenc.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_ABA57DBA
|
||||
l5j_ABA57DBA: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_registry_nowait.exe src/head.c obj/common-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_C25B
|
||||
launch5j_C25B: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=1 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_registry_nowait.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_wrapped_registry_nowait.exe
|
||||
endif
|
||||
|
||||
.PHONY: l5j_20B99C28
|
||||
l5j_20B99C28: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_registry_nowait_noenc.exe src/head.c obj/common-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
.PHONY: launch5j_DAFA
|
||||
launch5j_DAFA: resources
|
||||
$(CC) $(CFLAGS) -mconsole -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -DL5J_ENCODE_ARGS=0 -o bin/launch5j_$(CPU_ARCH)_nogui_wrapped_registry_nowait_noenc.exe src/head.c obj/common.$(CPU_ARCH).o obj/manifest-console.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
||||
ifeq ($(DEBUG),0)
|
||||
strip bin/launch5j_$(CPU_ARCH)_nogui_wrapped_registry_nowait_noenc.exe
|
||||
endif
|
||||
@ -419,52 +420,52 @@ endif
|
||||
|
||||
.PHONY: all
|
||||
all: \
|
||||
l5j_AC5E0F7B \
|
||||
l5j_D3650C28 \
|
||||
l5j_07E2C001 \
|
||||
l5j_1A7CF93E \
|
||||
l5j_E528C43C \
|
||||
l5j_F3DBFECB \
|
||||
l5j_3714ED45 \
|
||||
l5j_8EB7DCEA \
|
||||
l5j_A6ADF807 \
|
||||
l5j_FD9D0A03 \
|
||||
l5j_715A4611 \
|
||||
l5j_2342BF21 \
|
||||
l5j_CA4AEEEE \
|
||||
l5j_CD6A91A5 \
|
||||
l5j_9112B169 \
|
||||
l5j_0BF455CD \
|
||||
l5j_A92217A7 \
|
||||
l5j_5C289D36 \
|
||||
l5j_E2BC6FC3 \
|
||||
l5j_F8FAA925 \
|
||||
l5j_BD28CD8F \
|
||||
l5j_3B402EED \
|
||||
l5j_E3F9AD8D \
|
||||
l5j_66F05454 \
|
||||
l5j_33F9ED38 \
|
||||
l5j_5E944098 \
|
||||
l5j_94CDE204 \
|
||||
l5j_7A0A8164 \
|
||||
l5j_C5E0DAF5 \
|
||||
l5j_4ABEF3E6 \
|
||||
l5j_F7A60AA5 \
|
||||
l5j_AA445906 \
|
||||
l5j_E5119C07 \
|
||||
l5j_05FC33A2 \
|
||||
l5j_FD1A2285 \
|
||||
l5j_0A8603AF \
|
||||
l5j_04592BD0 \
|
||||
l5j_CF815DD1 \
|
||||
l5j_15FAE2C7 \
|
||||
l5j_5256A700 \
|
||||
l5j_735DFE78 \
|
||||
l5j_4897DF6D \
|
||||
l5j_C11CE462 \
|
||||
l5j_00128557 \
|
||||
l5j_7B89D793 \
|
||||
l5j_B07DBB1C \
|
||||
l5j_ABA57DBA \
|
||||
l5j_20B99C28
|
||||
launch5j_B855 \
|
||||
launch5j_A2FE \
|
||||
launch5j_D99E \
|
||||
launch5j_6DCE \
|
||||
launch5j_9E54 \
|
||||
launch5j_1CDC \
|
||||
launch5j_459A \
|
||||
launch5j_AA99 \
|
||||
launch5j_2F4C \
|
||||
launch5j_1A0D \
|
||||
launch5j_9AA2 \
|
||||
launch5j_7178 \
|
||||
launch5j_A25D \
|
||||
launch5j_20DF \
|
||||
launch5j_8568 \
|
||||
launch5j_2BCA \
|
||||
launch5j_7B70 \
|
||||
launch5j_91AC \
|
||||
launch5j_FA0C \
|
||||
launch5j_2559 \
|
||||
launch5j_2EFE \
|
||||
launch5j_8F9C \
|
||||
launch5j_3478 \
|
||||
launch5j_4F5B \
|
||||
launch5j_2A1E \
|
||||
launch5j_FE04 \
|
||||
launch5j_2BCE \
|
||||
launch5j_9D63 \
|
||||
launch5j_F5D7 \
|
||||
launch5j_33A4 \
|
||||
launch5j_D3FD \
|
||||
launch5j_D36F \
|
||||
launch5j_F945 \
|
||||
launch5j_4745 \
|
||||
launch5j_01E0 \
|
||||
launch5j_78AA \
|
||||
launch5j_B8C6 \
|
||||
launch5j_3848 \
|
||||
launch5j_778B \
|
||||
launch5j_627C \
|
||||
launch5j_66EE \
|
||||
launch5j_9FFA \
|
||||
launch5j_7C79 \
|
||||
launch5j_2928 \
|
||||
launch5j_8EFD \
|
||||
launch5j_59FE \
|
||||
launch5j_C25B \
|
||||
launch5j_DAFA
|
||||
|
||||
|
69
README.md
69
README.md
@ -1,10 +1,10 @@
|
||||
![Launch5j](etc/img/logo.png)
|
||||
|
||||
**Java JAR file wrapper for creating Windows native executables**
|
||||
**Java JAR file wrapper for creating Windows™ native executables**
|
||||
|
||||
# Introduction
|
||||
|
||||
**Launch5j** is a reimagination of “Launch4j”, *with full Unicode support*. This is a tool for wrapping Java applications distributed as JARs in lightweight Windows native executables. The executable can be configured to search for a certain JRE version or use a bundled one. The wrapper also provides better user experience through an application icon, a native pre-JRE splash screen, and a Java download page in case the appropriate JRE cannot be found.
|
||||
**Launch5j** is a reimagination of “Launch4j”, *with full Unicode support*. This is a tool for wrapping Java applications distributed as JARs in lightweight Windows™ native executables. The executable can be configured to search for a certain JRE version or use a bundled one. The wrapper also provides better user experience through an application icon, a native pre-JRE splash screen, and a Java download page in case the appropriate JRE cannot be found.
|
||||
|
||||
# Usage
|
||||
|
||||
@ -70,11 +70,11 @@ Launch5j executables come in a number of variants, allowing you to pick the most
|
||||
Expects that the JAR file and the executable launcher have been combined to a *single* file; default variant expects that a separate JAR file is present in the same directory where the executable launcher resides.
|
||||
|
||||
* **`registry`**
|
||||
Tries to automatically detect the install path of the JRE from the Windows registry; default variant expects the JRE to be located in the `runtime` path relative to the location of the executable launcher.
|
||||
Tries to automatically detect the install path of the JRE from the Windows™ registry; default variant expects the JRE to be located in the `runtime` path relative to the location of the executable launcher.
|
||||
|
||||
At this time, the following Java distributions can be detected from the registry:
|
||||
- [Oracle JDK (JavaSoft)](https://www.oracle.com/java/technologies/javase-downloads.html)
|
||||
- [AdoptOpenJDK](https://adoptopenjdk.net/)
|
||||
- [Eclipse Adoptium](https://adoptium.net/)
|
||||
- [Liberica OpenJDK](https://bell-sw.com/)
|
||||
- [Zulu OpenJDK](https://www.azul.com/downloads/zulu-community/)
|
||||
|
||||
@ -92,9 +92,9 @@ Launch5j executables come in a number of variants, allowing you to pick the most
|
||||
|
||||
## Supported platforms
|
||||
|
||||
All of the above Launch5j variants are available as `x86` (32-Bit) and `x64` (64-Bit) executables. The `x86` (32-Bit) executables can run on *32-Bit* and *64-Bit* versions of Microsoft® Windows™, whereas the `x64` (64-Bit) executables require a *64-Bit* version of Microsoft® Windows™. Consequently, it is generally recommended to distribute the `x86` (32-Bit) launcher executable. Please note that this does **not** restrict the “bitness” of the JRE that can be used. Even the `x86` (32-Bit) launcher executable is perfectly able to detect and launch a *64-Bit* JRE – if it is available.
|
||||
All of the above Launch5j variants are available as `x86` (32-Bit) and `amd64` (64-Bit) executables. The `x86` (32-Bit) executables can run on *32-Bit* and *64-Bit* versions of Microsoft® Windows™, whereas the `amd64` (64-Bit) executables require a *64-Bit* version of Microsoft® Windows™. Consequently, it is generally recommended to distribute the `x86` (32-Bit) launcher executable. Please note that this does **not** restrict the “bitness” of the JRE that can be used. Even the `x86` (32-Bit) launcher executable is perfectly able to detect and launch a *64-Bit* JRE – if it is available.
|
||||
|
||||
*Note:* Launch5j has been tested to work correctly on Windows XP (Service Pack 2), or a compatible newer version.
|
||||
*Note:* Launch5j has been tested to work correctly on Windows XP with Service Pack 3, or a compatible newer version.
|
||||
|
||||
|
||||
# Customizations
|
||||
@ -109,24 +109,24 @@ It is ***not*** necessary to re-build the executable files for that purpose. Ins
|
||||
|
||||
Some options can be configured via the launcher executable's [STRINGTABLE](https://docs.microsoft.com/en-us/windows/win32/menurc/stringtable-resource) resource:
|
||||
|
||||
* **`ID_STR_HEADING` (#1)**
|
||||
* **`ID_STR_HEADING` (0x1)**
|
||||
Specifies a custom application title that will be used, e.g., as the heading of message boxes.
|
||||
|
||||
* **`ID_STR_JVMARGS` (#2)**
|
||||
* **`ID_STR_JVMARGS` (0x2)**
|
||||
Specifies *additional* options JVM options to be passed, such as `-Xmx2g` or `-Dproperty=value`.
|
||||
See here for a list of available options:
|
||||
<https://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html>
|
||||
|
||||
* **`ID_STR_CMDARGS` (#3)**
|
||||
* **`ID_STR_CMDARGS` (0x3)**
|
||||
Specifies *additional* fixed command-line parameters to be passed to the Java application.
|
||||
|
||||
* **`ID_STR_JREPATH` (#4)**
|
||||
* **`ID_STR_JREPATH` (0x4)**
|
||||
Specifies the path to the Java runtime (`javaw.exe`) relative to the launcher executable location.
|
||||
If not specified, then the *default* runtime path `runtime\\bin\\javaw.exe` is assumed.
|
||||
|
||||
(This option does **not** apply to the “registry” variant of Launch5j)
|
||||
|
||||
* **`ID_STR_MUTEXID` (#5)**
|
||||
* **`ID_STR_MUTEXID` (0x5)**
|
||||
Specifies the application ID to be used when creating the [*single-instance*](http://www.bcbjournal.org/articles/vol3/9911/Single-instance_applications.htm) mutex.
|
||||
The ID **must** be at least 5 characters in length and **should** be a *unique* string for each application!
|
||||
If not specified, then **no** mutex will be created and thus *multiple* instances will be allowed.
|
||||
@ -135,7 +135,24 @@ Some options can be configured via the launcher executable's [STRINGTABLE](https
|
||||
|
||||
(This option does **not** apply to the “nowait” variant of Launch5j)
|
||||
|
||||
* **`ID_STR_JAVAMIN` (#6)**
|
||||
* **`ID_STR_HEAPMIN` (0x6)**
|
||||
Specifies the the ***minimum*** Java heap size (i.e. JVM option `-Xms`), as percentage of the total physical memory.
|
||||
This value must be an integral value in the `1` to `100` range.
|
||||
|
||||
(If `ID_STR_HEAPMAX` is specified too, then this value **must** be less than or equal to `ID_STR_HEAPMAX`).
|
||||
|
||||
* **`ID_STR_HEAPMAX` (0x7)**
|
||||
Specifies the the ***maximum*** Java heap size (i.e. JVM option `-Xmx`), as percentage of the total physical memory.
|
||||
This value must be an integral value in the `1` to `100` range.
|
||||
|
||||
(If `ID_STR_HEAPMIN` is specified too, then this value **must** be greater than or equal to `ID_STR_HEAPMIN`).
|
||||
|
||||
* **`ID_STR_NSETCWD` (0x8)**
|
||||
If set to a non-zero value, do ***not*** change the current working directory.
|
||||
|
||||
(By default, the current working directory is set to the directory where the executable file is located)
|
||||
|
||||
* **`ID_STR_JAVAMIN` (0x9)**
|
||||
Specifies the ***minimum*** supported JRE version, in the **`w.x.y.z`** format (e.g. `11.0.0.0`).
|
||||
This values is *inclusive*, i.e. the specified JRE version or any newer JRE version will be accepted.
|
||||
If not specified, then the *default* minimum supported JRE version `8.0.0.0` applies.
|
||||
@ -144,7 +161,7 @@ Some options can be configured via the launcher executable's [STRINGTABLE](https
|
||||
|
||||
(This option only applies to the “registry” variant of Launch5j)
|
||||
|
||||
* **`ID_STR_JAVAMAX` (#7)**
|
||||
* **`ID_STR_JAVAMAX` (0xA)**
|
||||
Specifies the ***maximum*** supported JRE version, in the **`w.x.y.z`** format (e.g. `12.0.0.0`).
|
||||
This values is *exclusive*, i.e. only JRE versions *older* than the specified JRE version will be accepted.
|
||||
If not specified, then there is **no** upper limit on the supported JRE version.
|
||||
@ -153,15 +170,15 @@ Some options can be configured via the launcher executable's [STRINGTABLE](https
|
||||
|
||||
(This option only applies to the “registry” variant of Launch5j)
|
||||
|
||||
* **`ID_STR_BITNESS` (#8)**
|
||||
* **`ID_STR_BITNESS` (0xB)**
|
||||
Specifies the required ***bitness*** of the JRE. This can be either **`32`** (x86, aka i586) or **`64`** (x86-64).
|
||||
If not specified, then 32-Bit *and* 64-Bit JREs are accepted, with a preference to 64-Bit.
|
||||
|
||||
(This option only applies to the “registry” variant of Launch5j)
|
||||
|
||||
* **`ID_STR_JAVAURL` (#9)**
|
||||
* **`ID_STR_JAVAURL` (0xC)**
|
||||
The Java download URL that will ne suggested, if **no** suitable JRE could be detected on the machine.
|
||||
If not specified, wes suggest downloading OpenJDK as provided by the [AdoptOpenJDK](https://adoptopenjdk.net/) project.
|
||||
If not specified, wes suggest downloading OpenJDK, as provided by the [Eclipse Adoptium](https://adoptium.net/) project.
|
||||
|
||||
*Hint:* The URL must begin with a `http://` or `https://` prefix; otherwise the URL will be ignored!
|
||||
|
||||
@ -225,9 +242,21 @@ The launcher executable recognizes the following “special” command-line opti
|
||||
Enable experimental “slunk” mode; this is for experts only!
|
||||
|
||||
|
||||
# Source code
|
||||
# Downloads
|
||||
|
||||
The source code of **Launch5j** is available from the official Git mirrors at:
|
||||
Official **Launch5j** download mirrors:
|
||||
|
||||
* <https://github.com/lordmulder/Launch5j/releases>
|
||||
|
||||
* <https://sourceforge.net/projects/muldersoft/files/Launch5j/>
|
||||
|
||||
* <https://bitbucket.org/muldersoft/launch5j/downloads/>
|
||||
|
||||
It is *highly recommended* to download Launch5j only from one of the mirrors listed above. We are **not** responsible for the integrity and trustworthiness of Launch5j downloads you may have received from other locations!
|
||||
|
||||
## Source code
|
||||
|
||||
**Launch5j** source code is available via [Git](https://git-scm.com/):
|
||||
|
||||
* `git clone https://github.com/lordmulder/Launch5j.git`
|
||||
|
||||
@ -238,7 +267,7 @@ The source code of **Launch5j** is available from the official Git mirrors at:
|
||||
|
||||
# Build instructions
|
||||
|
||||
In order to build **Launch5j** from the sources, it is recommended to use the [*GNU C Compiler* (GCC)](https://gcc.gnu.org/) for Windows, as provided by the [*Mingw-w64*](http://mingw-w64.org/) project. Other C compilers may work, but are **not** officially supported.
|
||||
In order to build **Launch5j** from the sources, it is recommended to use the [*GNU C Compiler* (GCC)](https://gcc.gnu.org/) for Windows™, as provided by the [*Mingw-w64*](http://mingw-w64.org/) project. Other C compilers may work, but are **not** officially supported.
|
||||
|
||||
Probably the most simple way to set up the required build environment is by installing the [**MSYS2**](https://www.msys2.org/) distribution, which includes *GCC* (Mingw-w64) as well as all the required build tools, such as *Bash*, *GNU make* and *Git*.
|
||||
|
||||
@ -272,7 +301,7 @@ This project is partly inspired by the “Launch4j” project, even though it ha
|
||||
|
||||
This work has been released under the MIT license:
|
||||
|
||||
Copyright 2020 LoRd_MuldeR <mulder2@gmx.de>
|
||||
Copyright 2024 LoRd_MuldeR <mulder2@gmx.de>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -65,7 +65,7 @@ for %%m in (32,64) do (
|
||||
echo Build %%m-Bit
|
||||
echo ========================================================================
|
||||
echo.
|
||||
call "%MSYS2_DIR%\msys2_shell.cmd" -mingw%%m -no-start -defterm -where "%~dp0" -c "make -B -j8"
|
||||
call "%MSYS2_DIR%\msys2_shell.cmd" -mingw%%m -no-start -defterm -where "%~dp0" -c "make -B"
|
||||
if not "!ERRORLEVEL!"=="0" goto:BuildHasFailed
|
||||
echo.
|
||||
)
|
||||
|
@ -11,15 +11,10 @@
|
||||
</trustInfo>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!--The ID below indicates application support for Windows Vista -->
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
|
||||
<!--The ID below indicates application support for Windows 7 -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
|
||||
<!--The ID below indicates application support for Windows 8 -->
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
|
||||
<!--The ID below indicates application support for Windows 8.1 -->
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
|
||||
<!--The ID below indicates application support for Windows 10 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
||||
</application>
|
||||
</compatibility>
|
||||
|
@ -11,15 +11,10 @@
|
||||
</trustInfo>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!--The ID below indicates application support for Windows Vista -->
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
|
||||
<!--The ID below indicates application support for Windows 7 -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
|
||||
<!--The ID below indicates application support for Windows 8 -->
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
|
||||
<!--The ID below indicates application support for Windows 8.1 -->
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
|
||||
<!--The ID below indicates application support for Windows 10 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
||||
</application>
|
||||
</compatibility>
|
||||
|
@ -17,14 +17,6 @@
|
||||
|
||||
#include "../src/resource.h"
|
||||
|
||||
#ifndef L5J_CPU_ARCH
|
||||
#error L5J_CPU_ARCH is not defined!
|
||||
#endif
|
||||
|
||||
#ifndef L5J_ENABLE_GUI
|
||||
#error L5J_ENABLE_GUI is not defined!
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Neutral resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@ -50,6 +42,9 @@ BEGIN
|
||||
ID_STR_CMDARGS L"?" /*additional command-line args*/
|
||||
ID_STR_JREPATH L"?" /*relative path to JRE*/
|
||||
ID_STR_MUTEXID L"?" /*single instance mutex ID*/
|
||||
ID_STR_HEAPMIN L"?" /*min. heap size, in percent of phys. memory*/
|
||||
ID_STR_HEAPMAX L"?" /*max. heap size, in percent of phys. memory*/
|
||||
ID_STR_NSETCWD L"?" /*do not set current working directory*/
|
||||
END
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@ -94,19 +89,3 @@ BEGIN
|
||||
VALUE "Translation", 0x0, 1200
|
||||
END
|
||||
END
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Manifest
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if L5J_ENABLE_GUI
|
||||
#define MANIFEST_SUFFIX windows
|
||||
#else
|
||||
#define MANIFEST_SUFFIX console
|
||||
#endif
|
||||
|
||||
#define L5J_MANIFEST_GLUE1(V,W,X,Y,Z) #V #W #X #Y #Z
|
||||
#define L5J_MANIFEST_GLUE2(V,W,X,Y,Z) L5J_MANIFEST_GLUE1(V,W,X,Y,Z)
|
||||
#define L5J_MANIFEST_STR L5J_MANIFEST_GLUE2(../tmp/assets/manifest-,MANIFEST_SUFFIX,.,L5J_CPU_ARCH,.xml)
|
||||
|
||||
1 RT_MANIFEST L5J_MANIFEST_STR
|
||||
|
33
res/manifest-console.rc
Normal file
33
res/manifest-console.rc
Normal file
@ -0,0 +1,33 @@
|
||||
/************************************************************/
|
||||
/* Launch5j, by LoRd_MuldeR <MuldeR2@GMX.de> */
|
||||
/* 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"
|
||||
|
||||
#ifndef L5J_CPU_ARCH
|
||||
#error L5J_CPU_ARCH is not defined!
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Manifest
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define L5J_MANIFEST_GLUE1(X) #X
|
||||
#define L5J_MANIFEST_GLUE2(X,Y,Z) L5J_MANIFEST_GLUE1(X.Y.Z)
|
||||
#define L5J_MANIFEST_GLUE3(X,Y,Z) L5J_MANIFEST_GLUE2(X,Y,Z)
|
||||
#define L5J_MANIFEST_STR L5J_MANIFEST_GLUE3(../tmp/assets/manifest-console,L5J_CPU_ARCH,xml)
|
||||
|
||||
1 RT_MANIFEST L5J_MANIFEST_STR
|
33
res/manifest-windows.rc
Normal file
33
res/manifest-windows.rc
Normal file
@ -0,0 +1,33 @@
|
||||
/************************************************************/
|
||||
/* Launch5j, by LoRd_MuldeR <MuldeR2@GMX.de> */
|
||||
/* 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"
|
||||
|
||||
#ifndef L5J_CPU_ARCH
|
||||
#error L5J_CPU_ARCH is not defined!
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Manifest
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define L5J_MANIFEST_GLUE1(X) #X
|
||||
#define L5J_MANIFEST_GLUE2(X,Y,Z) L5J_MANIFEST_GLUE1(X.Y.Z)
|
||||
#define L5J_MANIFEST_GLUE3(X,Y,Z) L5J_MANIFEST_GLUE2(X,Y,Z)
|
||||
#define L5J_MANIFEST_STR L5J_MANIFEST_GLUE3(../tmp/assets/manifest-windows,L5J_CPU_ARCH,xml)
|
||||
|
||||
1 RT_MANIFEST L5J_MANIFEST_STR
|
161
src/head.c
161
src/head.c
@ -22,6 +22,7 @@
|
||||
#include <errno.h>
|
||||
#include <direct.h>
|
||||
#include <fcntl.h>
|
||||
#include <mbctype.h>
|
||||
|
||||
// Win32 API
|
||||
#include <Windows.h>
|
||||
@ -60,10 +61,11 @@
|
||||
#endif
|
||||
|
||||
// Const
|
||||
static const wchar_t *const JRE_DOWNLOAD_LINK_DEFAULT = L"https://adoptopenjdk.net/";
|
||||
static const wchar_t *const JRE_DOWNLOAD_LINK_DEFAULT = L"https://adoptium.net/";
|
||||
static const wchar_t *const JRE_RELATIVE_PATH_DEFAULT = L"runtime\\bin";
|
||||
static const wchar_t *const JRE_EXECUTABLE_NAME = L5J_ENABLE_GUI ? L"javaw.exe" : L"java.exe";
|
||||
static const size_t MIN_MUTEXID_LENGTH = 5U;
|
||||
static const size_t BYTES_PER_MEGABYTE = 1024U * 1024U;
|
||||
static const DWORD SPLASH_SCREEN_TIMEOUT = 30000U;
|
||||
|
||||
// Check platform
|
||||
@ -71,13 +73,29 @@ static const DWORD SPLASH_SCREEN_TIMEOUT = 30000U;
|
||||
#error Unknown target platform!
|
||||
#endif
|
||||
|
||||
// Boolean value
|
||||
/* ======================================================================== */
|
||||
/* Miscellaneous */
|
||||
/* ======================================================================== */
|
||||
|
||||
#define BOOLIFY(X) ((X) ? TRUE : FALSE)
|
||||
#define PERCENT(X) (bound_value(1U, (X), 100U) / 100.0)
|
||||
|
||||
static DWORD bound_value(const DWORD min_value, const DWORD value, const DWORD max_value)
|
||||
{
|
||||
return max(min_value, min(max_value, value));
|
||||
}
|
||||
|
||||
static ULONGLONG div_ceil(const ULONGLONG value, const ULONGLONG divisor)
|
||||
{
|
||||
return (!(value % divisor)) ? (value / divisor) : ((value / divisor) + 1ULL);
|
||||
}
|
||||
|
||||
/* ======================================================================== */
|
||||
/* String routines */
|
||||
/* ======================================================================== */
|
||||
|
||||
static const wchar_t SPACE_CHAR = L'\x20';
|
||||
|
||||
#define XSTR(S) STR(S)
|
||||
#define STR(S) #S
|
||||
|
||||
@ -145,13 +163,11 @@ static wchar_t *wcsndup (const wchar_t *const str, const size_t n)
|
||||
return result;
|
||||
}
|
||||
|
||||
static const wchar_t *skip_leading_spaces(const wchar_t *const str)
|
||||
static const wchar_t *skip_leading_spaces(const wchar_t *str)
|
||||
{
|
||||
if (NOT_EMPTY(str))
|
||||
{
|
||||
const wchar_t *result;
|
||||
for (result = str; (*result) && iswspace(*result); ++result);
|
||||
return result;
|
||||
for (; (*str) && (*str <= SPACE_CHAR); ++str);
|
||||
}
|
||||
return str;
|
||||
}
|
||||
@ -322,6 +338,18 @@ static BOOL running_on_64bit(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
static ULONGLONG get_physical_memory_size()
|
||||
{
|
||||
MEMORYSTATUSEX memory_status;
|
||||
SecureZeroMemory(&memory_status, sizeof(MEMORYSTATUSEX));
|
||||
memory_status.dwLength = sizeof(MEMORYSTATUSEX);
|
||||
if (GlobalMemoryStatusEx(&memory_status))
|
||||
{
|
||||
return memory_status.ullTotalPhys;
|
||||
}
|
||||
return 0L;
|
||||
}
|
||||
|
||||
/* ======================================================================== */
|
||||
/* File name routines */
|
||||
/* ======================================================================== */
|
||||
@ -520,7 +548,7 @@ static DWORD load_uint32(const HINSTANCE hinstance, const UINT id, const DWORD f
|
||||
{
|
||||
DWORD value = fallback;
|
||||
const wchar_t *const str = load_string(hinstance, id);
|
||||
if(NOT_EMPTY(str))
|
||||
if(AVAILABLE(str))
|
||||
{
|
||||
value = wcstoul(str, NULL, 10);
|
||||
}
|
||||
@ -941,7 +969,7 @@ static BOOL detect_java_runtime_scan_javasoft(const wchar_t *const key_name, con
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BOOL detect_java_runtime_scan_adoptjdk(const wchar_t *const key_name, const ULONG_PTR user_data)
|
||||
static BOOL detect_java_runtime_scan_adoptium(const wchar_t *const key_name, const ULONG_PTR user_data)
|
||||
{
|
||||
static const wchar_t *const JVM_NATURE[] = { L"hotspot", L"openj9", NULL };
|
||||
|
||||
@ -1016,20 +1044,22 @@ static BOOL detect_java_runtime_scan_liberica(const wchar_t *const key_name, con
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static const wchar_t *detect_java_runtime(const DWORD required_bitness, const ULONGLONG required_ver_min, const ULONGLONG required_ver_max)
|
||||
static const wchar_t *detect_java_runtime(const DWORD required_bitness, const ULONGLONG required_ver_min, const ULONGLONG required_ver_max, DWORD *const bitness_out, ULONGLONG *const version_out)
|
||||
{
|
||||
typedef struct { UINT mode; const wchar_t *path; } reg_key_t;
|
||||
static const reg_key_t REG_KEYS[] =
|
||||
{
|
||||
{ 1U, L"SOFTWARE\\JavaSoft\\Java Runtime Environment" }, { 1U, L"SOFTWARE\\JavaSoft\\JRE" }, { 2U, L"SOFTWARE\\AdoptOpenJDK\\JRE" },
|
||||
{ 1U, L"SOFTWARE\\JavaSoft\\Java Development Kit" }, { 1U, L"SOFTWARE\\JavaSoft\\JDK" }, { 2U, L"SOFTWARE\\AdoptOpenJDK\\JDK" },
|
||||
{ 1U, L"SOFTWARE\\Eclipse Adoptium\\JRE" }, { 1U, L"SOFTWARE\\AdoptOpenJDK\\JRE" },
|
||||
{ 1U, L"SOFTWARE\\Eclipse Adoptium\\JDK" }, { 1U, L"SOFTWARE\\AdoptOpenJDK\\JDK" },
|
||||
{ 2U, L"SOFTWARE\\JavaSoft\\Java Runtime Environment" }, { 2U, L"SOFTWARE\\JavaSoft\\JRE" },
|
||||
{ 2U, L"SOFTWARE\\JavaSoft\\Java Development Kit" }, { 2U, L"SOFTWARE\\JavaSoft\\JDK" },
|
||||
{ 3U, L"SOFTWARE\\BellSoft\\Liberica" },
|
||||
{ 3U, L"SOFTWARE\\Azul Systems\\Zulu" }, { 0U, NULL }
|
||||
};
|
||||
|
||||
const wchar_t *runtime_path = NULL;
|
||||
DWORD bitness = 0U;
|
||||
ULONGLONG version = 0U;
|
||||
*bitness_out = 0U;
|
||||
*version_out = 0U;
|
||||
|
||||
for (UINT i = running_on_64bit() ? 0U : 1U; i < 2U; ++i)
|
||||
{
|
||||
@ -1040,15 +1070,15 @@ static const wchar_t *detect_java_runtime(const DWORD required_bitness, const UL
|
||||
{
|
||||
{ required_bitness, required_ver_min, required_ver_max },
|
||||
{ HKEY_LOCAL_MACHINE, REG_KEYS[j].path, reg_view_64bit },
|
||||
{ bitness, version, NULL }
|
||||
{ *bitness_out, *version_out, NULL }
|
||||
};
|
||||
switch(REG_KEYS[j].mode)
|
||||
{
|
||||
case 1U:
|
||||
reg_enum_subkeys(HKEY_LOCAL_MACHINE, REG_KEYS[j].path, reg_view_64bit, detect_java_runtime_scan_javasoft, (ULONG_PTR)&search_state);
|
||||
reg_enum_subkeys(HKEY_LOCAL_MACHINE, REG_KEYS[j].path, reg_view_64bit, detect_java_runtime_scan_adoptium, (ULONG_PTR)&search_state);
|
||||
break;
|
||||
case 2U:
|
||||
reg_enum_subkeys(HKEY_LOCAL_MACHINE, REG_KEYS[j].path, reg_view_64bit, detect_java_runtime_scan_adoptjdk, (ULONG_PTR)&search_state);
|
||||
reg_enum_subkeys(HKEY_LOCAL_MACHINE, REG_KEYS[j].path, reg_view_64bit, detect_java_runtime_scan_javasoft, (ULONG_PTR)&search_state);
|
||||
break;
|
||||
case 3U:
|
||||
reg_enum_subkeys(HKEY_LOCAL_MACHINE, REG_KEYS[j].path, reg_view_64bit, detect_java_runtime_scan_liberica, (ULONG_PTR)&search_state);
|
||||
@ -1056,14 +1086,14 @@ static const wchar_t *detect_java_runtime(const DWORD required_bitness, const UL
|
||||
}
|
||||
if(search_state.result.runtime_path)
|
||||
{
|
||||
bitness = search_state.result.bitness;
|
||||
version = search_state.result.version;
|
||||
*bitness_out = search_state.result.bitness;
|
||||
*version_out = search_state.result.version;
|
||||
SET_STRING(runtime_path, search_state.result.runtime_path);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (((required_bitness == 0U) || (bitness == required_bitness)) && (version >= required_ver_min) && (version < required_ver_max) && runtime_path)
|
||||
if (((required_bitness == 0U) || (*bitness_out == required_bitness)) && (*version_out >= required_ver_min) && (*version_out < required_ver_max) && runtime_path)
|
||||
{
|
||||
return runtime_path;
|
||||
}
|
||||
@ -1104,6 +1134,25 @@ static const wchar_t *get_java_full_path(const wchar_t *const jre_base_path, con
|
||||
/* Command-line */
|
||||
/* ======================================================================== */
|
||||
|
||||
static const wchar_t *get_commandline_args(const wchar_t *cmd_line)
|
||||
{
|
||||
BOOL double_quote = FALSE;
|
||||
if (NOT_EMPTY(cmd_line))
|
||||
{
|
||||
cmd_line = skip_leading_spaces(cmd_line);
|
||||
for (; (*cmd_line) && ((*cmd_line > SPACE_CHAR) || double_quote); ++cmd_line)
|
||||
{
|
||||
if (*cmd_line == L'"') double_quote = (!double_quote);
|
||||
if (_ismbblead(*cmd_line) && cmd_line[1U]) ++cmd_line;
|
||||
}
|
||||
return skip_leading_spaces(cmd_line);
|
||||
}
|
||||
else
|
||||
{
|
||||
return L""; /*no args*/
|
||||
}
|
||||
}
|
||||
|
||||
static wchar_t *encode_commandline_args(const int argc, const LPWSTR *const argv)
|
||||
{
|
||||
if (!(argv && (argc > 0)))
|
||||
@ -1179,6 +1228,29 @@ static const wchar_t *encode_commandline_str(const wchar_t *const command_line)
|
||||
return encoded;
|
||||
}
|
||||
|
||||
const wchar_t *create_heap_size_parameters(const DWORD jvm_heap_percent_min, const DWORD jvm_heap_percent_max, const wchar_t *const jvm_extra_args, const DWORD heap_size_limit)
|
||||
{
|
||||
const ULONGLONG physical_memory_size = get_physical_memory_size();
|
||||
if (physical_memory_size > 33554432ULL)
|
||||
{
|
||||
const DWORD heap_size_mbytes_min = jvm_heap_percent_min ? bound_value(16U, (DWORD)div_ceil((ULONGLONG)(PERCENT(jvm_heap_percent_min) * physical_memory_size), BYTES_PER_MEGABYTE), heap_size_limit) : 0U;
|
||||
const DWORD heap_size_mbytes_max = jvm_heap_percent_max ? bound_value(16U, (DWORD)div_ceil((ULONGLONG)(PERCENT(jvm_heap_percent_max) * physical_memory_size), BYTES_PER_MEGABYTE), heap_size_limit) : 0U;
|
||||
if ((heap_size_mbytes_min > 0U) && (heap_size_mbytes_max >= heap_size_mbytes_min))
|
||||
{
|
||||
return AVAILABLE(jvm_extra_args)
|
||||
? aswprintf(L"-Xms%um -Xmx%um %s", heap_size_mbytes_min, heap_size_mbytes_max, jvm_extra_args)
|
||||
: aswprintf(L"-Xms%um -Xmx%um", heap_size_mbytes_min, heap_size_mbytes_max);
|
||||
}
|
||||
else if ((heap_size_mbytes_min > 0U) || (heap_size_mbytes_max > 0U))
|
||||
{
|
||||
return AVAILABLE(jvm_extra_args)
|
||||
? aswprintf(L"-Xm%c%um %s", (heap_size_mbytes_max > 0U) ? L'x' : L's', (heap_size_mbytes_max > 0U) ? heap_size_mbytes_max : heap_size_mbytes_min, jvm_extra_args)
|
||||
: aswprintf(L"-Xm%c%um", (heap_size_mbytes_max > 0U) ? L'x' : L's', (heap_size_mbytes_max > 0U) ? heap_size_mbytes_max : heap_size_mbytes_min);
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static const wchar_t *build_commandline(const DWORD pid, const wchar_t *const java_runtime_path, const wchar_t *const jar_file_path, const wchar_t *const jvm_extra_args, const wchar_t *const cmd_extra_args, const wchar_t *const cmd_input_args)
|
||||
{
|
||||
const wchar_t *command_line;
|
||||
@ -1357,7 +1429,7 @@ static const wchar_t *describe_system_error(const DWORD error_code)
|
||||
#if L5J_ENABLE_GUI
|
||||
#define show_message(HWND, FLAGS, TITLE, TEXT) MessageBoxW((HWND), (TEXT), (TITLE), (FLAGS))
|
||||
#else
|
||||
#define show_message(HWND, FLAGS, TITLE, TEXT) ({ __ms_fwprintf(stderr, L"%s\n", (TEXT)); fflush(stderr); IDCANCEL; })
|
||||
#define show_message(HWND, FLAGS, TITLE, TEXT) ({ __ms_fwprintf(stderr, L"[%s]\n\n%s\n", (TITLE), (TEXT)); fflush(stderr); IDCANCEL; })
|
||||
#endif
|
||||
|
||||
static int show_message_format(HWND hwnd, const DWORD flags, const wchar_t *const title, const wchar_t *const format, ...)
|
||||
@ -1477,7 +1549,7 @@ static BOOL initialize_mutex(HANDLE *const handle, const wchar_t *const mutex_na
|
||||
const ULONGLONG hash_0 = hash_code(0x6CAD7ECA, (const BYTE*)mutex_name, name_length);
|
||||
const ULONGLONG hash_1 = hash_code(0xE2503816, (const BYTE*)mutex_name, name_length);
|
||||
|
||||
const wchar_t *const mutex_uuid = aswprintf(L"l5j.%016I64X%016I64X", hash_0, hash_1);
|
||||
const wchar_t *const mutex_uuid = aswprintf(L"l5j.%016I64x%016I64x", hash_0, hash_1);
|
||||
if (!mutex_uuid)
|
||||
{
|
||||
return TRUE; /*better safe than sorry*/
|
||||
@ -1540,10 +1612,10 @@ static int launch5j_main(const HINSTANCE hinstance, const wchar_t *const cmd_lin
|
||||
const wchar_t *app_heading = NULL, *mutex_name = NULL, *executable_path = NULL, *executable_directory = NULL, *jarfile_path = NULL,
|
||||
*java_runtime_path = NULL, *jre_relative_path = NULL, *jvm_extra_args = NULL, *cmd_extra_args = NULL, *command_line = NULL;
|
||||
HANDLE mutex_handle = NULL;
|
||||
DWORD java_required_bitness = 0U;
|
||||
ULONGLONG java_required_ver_min = 0ULL, java_required_ver_max = 0ULL;
|
||||
DWORD java_required_bitness = 0U, jvm_heap_percent_min = 0U, jvm_heap_percent_max = 0U, jvm_bitness = 0U;
|
||||
ULONGLONG java_required_ver_min = 0ULL, java_required_ver_max = 0ULL, jvm_version = 0ULL;
|
||||
HGDIOBJ splash_image = NULL;
|
||||
BOOL have_screen_created = FALSE;
|
||||
BOOL have_screen_created = FALSE, set_current_directory_enabled = TRUE;
|
||||
PROCESS_INFORMATION process_info;
|
||||
STARTUPINFOW startup_info;
|
||||
|
||||
@ -1621,7 +1693,7 @@ static int launch5j_main(const HINSTANCE hinstance, const wchar_t *const cmd_lin
|
||||
}
|
||||
|
||||
// Set the current directory
|
||||
if (_wcsicmp(executable_directory, L".") != 0)
|
||||
if (set_current_directory_enabled = (!BOOLIFY(load_uint32(hinstance, ID_STR_NSETCWD, 0U))))
|
||||
{
|
||||
set_current_directory(executable_directory);
|
||||
}
|
||||
@ -1647,7 +1719,7 @@ static int launch5j_main(const HINSTANCE hinstance, const wchar_t *const cmd_lin
|
||||
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)))
|
||||
if (!(java_runtime_path = detect_java_runtime(java_required_bitness, java_required_ver_min, java_required_ver_max, &jvm_bitness, &jvm_version)))
|
||||
{
|
||||
show_message(hwnd, MB_ICONERROR | MB_TOPMOST, APP_HEADING, L"Java Runtime Environment (JRE) could not be found!");
|
||||
show_jre_download_notice(hinstance, hwnd, APP_HEADING, java_required_bitness, java_required_ver_min);
|
||||
@ -1660,7 +1732,7 @@ static int launch5j_main(const HINSTANCE hinstance, const wchar_t *const cmd_lin
|
||||
show_message(hwnd, MB_ICONERROR | MB_TOPMOST, APP_HEADING, L"The path of the Java runtime could not be determined!");
|
||||
goto cleanup;
|
||||
}
|
||||
if (!BOOLIFY(file_is_executable(java_runtime_path)))
|
||||
if (!BOOLIFY(jvm_bitness = file_is_executable(java_runtime_path)))
|
||||
{
|
||||
show_message_format(hwnd, MB_ICONERROR | MB_TOPMOST, APP_HEADING, L"The Java runtime could not be found or is invalid:\n\n%s\n\n\nRe-installing the application may fix the problem!", java_runtime_path);
|
||||
goto cleanup;
|
||||
@ -1671,6 +1743,19 @@ static int launch5j_main(const HINSTANCE hinstance, const wchar_t *const cmd_lin
|
||||
jvm_extra_args = load_string(hinstance, ID_STR_JVMARGS);
|
||||
cmd_extra_args = load_string(hinstance, ID_STR_CMDARGS);
|
||||
|
||||
// Set minimum/maximum Java heap size
|
||||
jvm_heap_percent_min = bound_value(0U, load_uint32(hinstance, ID_STR_HEAPMIN, 0U), 100U);
|
||||
jvm_heap_percent_max = bound_value(0U, load_uint32(hinstance, ID_STR_HEAPMAX, 0U), 100U);
|
||||
if ((jvm_heap_percent_min > 0U) || (jvm_heap_percent_max > 0U))
|
||||
{
|
||||
const wchar_t *const jvm_heap_size_args = create_heap_size_parameters(jvm_heap_percent_min, jvm_heap_percent_max, jvm_extra_args, (jvm_bitness && (jvm_bitness < 64U)) ? 1024U : MAXDWORD);
|
||||
if (jvm_heap_size_args)
|
||||
{
|
||||
free((void*)jvm_extra_args);
|
||||
jvm_extra_args = jvm_heap_size_args;
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure command-line was created
|
||||
command_line = build_commandline(pid, java_runtime_path, jarfile_path, jvm_extra_args, cmd_extra_args, cmd_line_args);
|
||||
if (!command_line)
|
||||
@ -1685,7 +1770,7 @@ static int launch5j_main(const HINSTANCE hinstance, const wchar_t *const cmd_lin
|
||||
#endif
|
||||
|
||||
// Now actually start the process!
|
||||
if (!CreateProcessW(NULL, (LPWSTR)command_line, NULL, NULL, FALSE, 0U, NULL, executable_directory, &startup_info, &process_info))
|
||||
if (!CreateProcessW(NULL, (LPWSTR)command_line, NULL, NULL, FALSE, 0U, NULL, set_current_directory_enabled ? executable_directory : NULL, &startup_info, &process_info))
|
||||
{
|
||||
const wchar_t *const error_text = describe_system_error(GetLastError());
|
||||
if (error_text)
|
||||
@ -1759,7 +1844,9 @@ cleanup:
|
||||
/* Entry points */
|
||||
/* ======================================================================== */
|
||||
|
||||
#define THE_NUMBER_OF_THE_BEAST 666
|
||||
extern IMAGE_DOS_HEADER __ImageBase;
|
||||
extern LPWSTR _wcmdln;
|
||||
#define UNHANDELED_EXCEPTION_ERROR 666
|
||||
|
||||
static LONG WINAPI unhandeled_exception(EXCEPTION_POINTERS *ExceptionInfo)
|
||||
{
|
||||
@ -1770,22 +1857,23 @@ static LONG WINAPI unhandeled_exception(EXCEPTION_POINTERS *ExceptionInfo)
|
||||
DWORD chars_written;
|
||||
WriteConsoleW(GetStdHandle(STD_ERROR_HANDLE), ERROR_MESSAGE, lstrlenW(ERROR_MESSAGE), &chars_written, NULL);
|
||||
#endif
|
||||
TerminateProcess(GetCurrentProcess(), THE_NUMBER_OF_THE_BEAST);
|
||||
TerminateProcess(GetCurrentProcess(), UNHANDELED_EXCEPTION_ERROR);
|
||||
return EXCEPTION_EXECUTE_HANDLER;
|
||||
}
|
||||
|
||||
#if L5J_ENABLE_GUI
|
||||
|
||||
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
|
||||
{
|
||||
#ifdef NDEBUG
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX);
|
||||
SetUnhandledExceptionFilter(unhandeled_exception);
|
||||
#endif
|
||||
return launch5j_main(hInstance, pCmdLine);
|
||||
return launch5j_main(hInstance, get_commandline_args(_wcmdln));
|
||||
}
|
||||
#else
|
||||
extern HINSTANCE __mingw_winmain_hInstance;
|
||||
extern LPWSTR __mingw_winmain_lpCmdLine;
|
||||
|
||||
#else /*L5J_ENABLE_GUI*/
|
||||
|
||||
int wmain(int argc, wchar_t **argv, wchar_t **envp)
|
||||
{
|
||||
#ifdef NDEBUG
|
||||
@ -1793,6 +1881,7 @@ int wmain(int argc, wchar_t **argv, wchar_t **envp)
|
||||
SetUnhandledExceptionFilter(unhandeled_exception);
|
||||
#endif
|
||||
_setmode(_fileno(stderr), _O_U8TEXT);
|
||||
return launch5j_main(__mingw_winmain_hInstance, __mingw_winmain_lpCmdLine);
|
||||
return launch5j_main((HINSTANCE) &__ImageBase, get_commandline_args(_wcmdln));
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*L5J_ENABLE_GUI*/
|
||||
|
@ -56,16 +56,17 @@ initialize:
|
||||
|
||||
.PHONY: manifests
|
||||
manifests: initialize
|
||||
mkdir -p $(@D)
|
||||
@mkdir -p tmp/assets
|
||||
sed -e 's/$${{version}}/$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH).$(BUILDNO)/g' -e 's/$${{processorArchitecture}}/$(CPU_ARCH)/g' res/assets/manifest-console.xml > tmp/assets/manifest-console.$(CPU_ARCH).xml
|
||||
sed -e 's/$${{version}}/$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH).$(BUILDNO)/g' -e 's/$${{processorArchitecture}}/$(CPU_ARCH)/g' res/assets/manifest-windows.xml > tmp/assets/manifest-windows.$(CPU_ARCH).xml
|
||||
|
||||
.PHONY: resources
|
||||
resources: manifests
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=0 -o obj/common-console.$(CPU_ARCH).o res/common.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -DL5J_ENABLE_GUI=1 -o obj/common-windows.$(CPU_ARCH).o res/common.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -o obj/splash_screen.$(CPU_ARCH).o res/splash_screen.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -o obj/common.$(CPU_ARCH).o res/common.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -o obj/manifest-console.$(CPU_ARCH).o res/manifest-console.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -o obj/manifest-windows.$(CPU_ARCH).o res/manifest-windows.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -o obj/registry.$(CPU_ARCH).o res/registry.rc
|
||||
windres -DL5J_CPU_ARCH=$(CPU_ARCH) -DL5J_BUILDNO=$(BUILDNO) -o obj/splash_screen.$(CPU_ARCH).o res/splash_screen.rc
|
||||
|
||||
.PHONY: clean
|
||||
clean: initialize
|
||||
|
@ -21,9 +21,8 @@ import java.io.PrintStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.time.Instant;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/*
|
||||
@ -31,16 +30,23 @@ import java.util.regex.Pattern;
|
||||
*/
|
||||
public class Generator {
|
||||
|
||||
private final static String EMPTY = "";
|
||||
private final static Pattern RTRIM = Pattern.compile("\\s+$");
|
||||
private static final String EMPTY = "";
|
||||
private static final Pattern RTRIM = Pattern.compile("\\s+$");
|
||||
|
||||
private static final MessageDigest SHA256;
|
||||
static {
|
||||
try {
|
||||
SHA256 = MessageDigest.getInstance("SHA-256");
|
||||
} catch (final NoSuchAlgorithmException e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
final List<String> targets = new ArrayList<String>();
|
||||
final String salt = Instant.now().toString();
|
||||
final PrintStream out = new PrintStream(System.out, true, StandardCharsets.UTF_8.name());
|
||||
|
||||
outputTemplate(out, "header");
|
||||
|
||||
final LinkedHashSet<String> targets = new LinkedHashSet<String>();
|
||||
for (int enableGui = 1; enableGui > -1; --enableGui) {
|
||||
for (int wrapped = 0; wrapped < 2; ++wrapped) {
|
||||
for (int registry = 0; registry < 2; ++registry) {
|
||||
@ -50,7 +56,7 @@ public class Generator {
|
||||
continue;
|
||||
}
|
||||
for (int encArgs = 1; encArgs > -1; --encArgs) {
|
||||
out.println(generateCommand(targets, salt, enableGui, wrapped, registry, stayAlive, enableSplash, encArgs));
|
||||
out.println(generateCommand(targets, enableGui, wrapped, registry, stayAlive, enableSplash, encArgs));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -99,10 +105,12 @@ public class Generator {
|
||||
out.println();
|
||||
}
|
||||
|
||||
private static String generateCommand(final List<String> targets, final String salt, final int enableGui, final int wrapped, final int registry, final int stayAlive, final int enableSplash, final int encArgs) {
|
||||
private static String generateCommand(final Set<String> targets, final int enableGui, final int wrapped, final int registry, final int stayAlive, final int enableSplash, final int encArgs) {
|
||||
final String nameSuffix = generateNameSuffix(enableGui, wrapped, registry, stayAlive, enableSplash, encArgs);
|
||||
final String targetName = "l5j_" + hash(nameSuffix, salt);
|
||||
targets.add(targetName);
|
||||
final String targetName = "launch5j_" + hash(nameSuffix);
|
||||
if(!targets.add(targetName)) {
|
||||
throw new Error("Hash collision detected!");
|
||||
}
|
||||
final String exeType = (enableGui > 0) ? "windows" : "console";
|
||||
final StringBuilder cmdLine = new StringBuilder();
|
||||
cmdLine.append(String.format(".PHONY: %s\n", targetName));
|
||||
@ -118,7 +126,8 @@ public class Generator {
|
||||
"-DL5J_ENCODE_ARGS=%d " +
|
||||
"-o bin/launch5j_$(CPU_ARCH)%s.exe " +
|
||||
"src/head.c " +
|
||||
"obj/common-%s.$(CPU_ARCH).o",
|
||||
"obj/common.$(CPU_ARCH).o " +
|
||||
"obj/manifest-%s.$(CPU_ARCH).o",
|
||||
exeType,
|
||||
enableGui,
|
||||
wrapped,
|
||||
@ -174,15 +183,8 @@ public class Generator {
|
||||
builder.append(string);
|
||||
}
|
||||
|
||||
private static String hash(final String str, final String salt) {
|
||||
final MessageDigest digest;
|
||||
try {
|
||||
digest = MessageDigest.getInstance("SHA-256");
|
||||
} catch (final NoSuchAlgorithmException e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
digest.update(salt.getBytes(StandardCharsets.UTF_8));
|
||||
final byte[] hash = digest.digest(str.getBytes(StandardCharsets.UTF_8));
|
||||
return String.format("%02X%02X%02X%02X", hash[31], hash[30], hash[29], hash[28]);
|
||||
private static String hash(final String str) {
|
||||
final byte[] hash = SHA256.digest(str.getBytes(StandardCharsets.UTF_8));
|
||||
return String.format("%02X%02X", hash[30], hash[31]);
|
||||
}
|
||||
}
|
||||
|
@ -21,8 +21,8 @@
|
||||
|
||||
// VERSION
|
||||
#define L5J_VERSION_MAJOR 0
|
||||
#define L5J_VERSION_MINOR 7
|
||||
#define L5J_VERSION_PATCH 0
|
||||
#define L5J_VERSION_MINOR 8
|
||||
#define L5J_VERSION_PATCH 1
|
||||
|
||||
// ICON
|
||||
#define ID_ICON_MAIN 1
|
||||
@ -31,14 +31,17 @@
|
||||
#define ID_BITMAP_SPLASH 1
|
||||
|
||||
// STRINGS
|
||||
#define ID_STR_HEADING 1
|
||||
#define ID_STR_JVMARGS 2
|
||||
#define ID_STR_CMDARGS 3
|
||||
#define ID_STR_JREPATH 4
|
||||
#define ID_STR_MUTEXID 5
|
||||
#define ID_STR_JAVAMIN 6
|
||||
#define ID_STR_JAVAMAX 7
|
||||
#define ID_STR_BITNESS 8
|
||||
#define ID_STR_JAVAURL 9
|
||||
#define ID_STR_HEADING 0x1
|
||||
#define ID_STR_JVMARGS 0x2
|
||||
#define ID_STR_CMDARGS 0x3
|
||||
#define ID_STR_JREPATH 0x4
|
||||
#define ID_STR_MUTEXID 0x5
|
||||
#define ID_STR_HEAPMIN 0x6
|
||||
#define ID_STR_HEAPMAX 0x7
|
||||
#define ID_STR_NSETCWD 0x8
|
||||
#define ID_STR_JAVAMIN 0x9
|
||||
#define ID_STR_JAVAMAX 0xA
|
||||
#define ID_STR_BITNESS 0xB
|
||||
#define ID_STR_JAVAURL 0xC
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user