2020-09-26 22:17:23 +02:00
|
|
|
############################################################
|
|
|
|
# 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/ #
|
|
|
|
############################################################
|
|
|
|
|
2020-09-30 14:15:06 +02:00
|
|
|
MACHINE := $(patsubst %-w64-mingw32,[%],$(shell $(CXX) -dumpmachine))
|
|
|
|
|
|
|
|
ifeq ($(MACHINE),[i686])
|
|
|
|
CPU_ARCH := x86
|
|
|
|
MARCH ?= i586
|
|
|
|
else ifeq ($(MACHINE),[x86_64])
|
|
|
|
CPU_ARCH := x64
|
|
|
|
MARCH ?= x86-64
|
2020-09-27 20:33:49 +02:00
|
|
|
else
|
2020-09-30 14:15:06 +02:00
|
|
|
$(error Unknown target machine "$(MACHINE)" encountered!)
|
2020-09-27 20:33:49 +02:00
|
|
|
endif
|
|
|
|
|
2020-09-30 14:15:06 +02:00
|
|
|
DEBUG ?= 0
|
2020-09-28 01:23:40 +02:00
|
|
|
MTUNE ?= generic
|
|
|
|
|
2020-09-30 14:15:06 +02:00
|
|
|
ifeq ($(DEBUG),0)
|
|
|
|
CFLAGS = -Os -static -static-libgcc -D_FORTIFY_SOURCE=2 -DNDEBUG
|
|
|
|
SUFFIX = exe
|
|
|
|
else
|
|
|
|
CFLAGS = -Og -g
|
|
|
|
SUFFIX = g.exe
|
|
|
|
endif
|
|
|
|
|
|
|
|
CFLAGS += -municode -mwindows -march=$(MARCH) -mtune=$(MTUNE)
|
2020-09-26 22:17:23 +02:00
|
|
|
|
2020-09-28 01:23:40 +02:00
|
|
|
.PHONY: all init resources build strip clean
|
2020-09-26 22:17:23 +02:00
|
|
|
|
2020-09-30 14:15:06 +02:00
|
|
|
ifeq ($(DEBUG),0)
|
2020-09-28 01:23:40 +02:00
|
|
|
all: strip
|
2020-09-30 14:15:06 +02:00
|
|
|
else
|
|
|
|
all: build
|
|
|
|
endif
|
2020-09-26 22:17:23 +02:00
|
|
|
|
|
|
|
init:
|
|
|
|
mkdir -p bin
|
|
|
|
mkdir -p obj
|
|
|
|
|
|
|
|
resources: init
|
2020-09-30 14:15:06 +02:00
|
|
|
echo $(OS)
|
2020-09-28 17:09:31 +02:00
|
|
|
windres -o obj/common.$(CPU_ARCH).o res/common.rc
|
2020-09-28 13:30:57 +02:00
|
|
|
windres -o obj/splash_screen.$(CPU_ARCH).o res/splash_screen.rc
|
2020-09-29 12:01:43 +02:00
|
|
|
windres -o obj/registry.$(CPU_ARCH).o res/registry.rc
|
2020-09-28 01:23:40 +02:00
|
|
|
|
|
|
|
build: init resources
|
2020-09-30 14:15:06 +02:00
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH).$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_nosplash.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_nowait.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_nowait_nosplash.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_nosplash.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_registry_nowait.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=0 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_registry_nowait_nosplash.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_nosplash.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=0 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_nowait_nosplash.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=1 -DL5J_ENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nosplash.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=1 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o obj/splash_screen.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
|
|
|
$(CC) $(CFLAGS) -DL5J_JAR_FILE_WRAPPED=1 -DL5J_DETECT_REGISTRY=1 -DL5J_STAY_ALIVE=0 -DL5J_ENABLE_SPLASH=0 -o bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_nosplash.$(SUFFIX) src/head.c obj/common.$(CPU_ARCH).o obj/registry.$(CPU_ARCH).o
|
2020-09-26 22:17:23 +02:00
|
|
|
|
2020-09-28 01:23:40 +02:00
|
|
|
strip: build
|
2020-09-30 14:15:06 +02:00
|
|
|
strip bin/launch5j_$(CPU_ARCH).$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_nosplash.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_nowait.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_nowait_nosplash.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_registry.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_registry_nosplash.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_registry_nowait.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_registry_nowait_nosplash.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_wrapped.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_wrapped_nosplash.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_wrapped_nowait.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_wrapped_nowait_nosplash.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_wrapped_registry.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_nosplash.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait.$(SUFFIX)
|
|
|
|
strip bin/launch5j_$(CPU_ARCH)_wrapped_registry_nowait_nosplash.$(SUFFIX)
|
2020-09-26 22:17:23 +02:00
|
|
|
|
|
|
|
clean: init
|
2020-09-30 14:15:06 +02:00
|
|
|
$(RM) bin/*.$(SUFFIX)
|
|
|
|
$(RM) obj/*.o
|