mirror of
https://github.com/palera1n/palera1n.git
synced 2026-10-21 09:47:01 +02:00
This commit also contains an entire redesign of the GUI interface, which now contains a sidebar for all panels. Hopefully checkra1n approves :)
85 lines
2.2 KiB
Makefile
85 lines
2.2 KiB
Makefile
.PHONY: payloads palera1n palera1n_xcode palera1n_mingw clean
|
|
|
|
WITH_GUI ?= 0
|
|
WITH_TUI ?= 0
|
|
WITH_RAMDISK ?= 1
|
|
WITH_BINPACK ?= 1
|
|
WITH_STATIC ?= 0
|
|
BUILD_TYPE ?= Debug
|
|
CMAKE_SYSROOT ?=
|
|
CROSS_HOST_TRIPLE ?=
|
|
JOBS ?=
|
|
|
|
BUILD_ARGS :=
|
|
ifneq ($(strip $(JOBS)),)
|
|
BUILD_ARGS += --parallel $(JOBS)
|
|
endif
|
|
|
|
payloads:
|
|
mkdir -p src/gen/images
|
|
mkdir -p src/gen/payloads
|
|
|
|
@for file in payloads/*; do \
|
|
name=$$(basename "$$file"); \
|
|
name=$${name%.*}; \
|
|
echo " XXD $$file"; \
|
|
echo "#pragma once" > "src/gen/payloads/$$name.h"; \
|
|
xxd -i "$$file" \
|
|
| sed 's/unsigned char/static const unsigned char/g' \
|
|
| sed 's/unsigned int/static const size_t/g' \
|
|
>> "src/gen/payloads/$$name.h"; \
|
|
done
|
|
|
|
@for file in images/*; do \
|
|
name=$$(basename "$$file"); \
|
|
name=$${name%.*}; \
|
|
echo " XXD $$file"; \
|
|
echo "#pragma once" > "src/gen/images/$$name.h"; \
|
|
xxd -i "$$file" \
|
|
| sed 's/unsigned char/static const unsigned char/g' \
|
|
| sed 's/unsigned int/static const size_t/g' \
|
|
>> "src/gen/images/$$name.h"; \
|
|
done
|
|
|
|
xxd -i -n "DFUHelperDeviceInfo" resources/DFUHelperDeviceInfo.json > src/gen/DFUHelperDeviceInfo.h
|
|
|
|
palera1n: payloads
|
|
@cmake -S . -B build \
|
|
-DCMAKE_SYSROOT="$(CMAKE_SYSROOT)" \
|
|
-DCROSS_HOST_TRIPLE="$(CROSS_HOST_TRIPLE)" \
|
|
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
|
|
-DWITH_GUI=$(WITH_GUI) \
|
|
-DWITH_TUI=$(WITH_TUI) \
|
|
-DWITH_RAMDISK=$(WITH_RAMDISK) \
|
|
-DWITH_BINPACK=$(WITH_BINPACK) \
|
|
-DWITH_STATIC=$(WITH_STATIC) && \
|
|
cmake --build build $(BUILD_ARGS)
|
|
|
|
palera1n_xcode: payloads
|
|
@cmake -S . -B build \
|
|
-G Xcode \
|
|
-DCMAKE_SYSROOT="$(CMAKE_SYSROOT)" \
|
|
-DCROSS_HOST_TRIPLE="$(CROSS_HOST_TRIPLE)" \
|
|
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
|
|
-DWITH_GUI=$(WITH_GUI) \
|
|
-DWITH_TUI=$(WITH_TUI) \
|
|
-DWITH_RAMDISK=$(WITH_RAMDISK) \
|
|
-DWITH_BINPACK=$(WITH_BINPACK) \
|
|
-DWITH_STATIC=$(WITH_STATIC)
|
|
|
|
palera1n_mingw: payloads
|
|
@cmake -S . -B build \
|
|
-G "MinGW Makefiles" \
|
|
-DCMAKE_SYSROOT="$(CMAKE_SYSROOT)" \
|
|
-DCROSS_HOST_TRIPLE="$(CROSS_HOST_TRIPLE)" \
|
|
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
|
|
-DWITH_GUI=$(WITH_GUI) \
|
|
-DWITH_TUI=$(WITH_TUI) \
|
|
-DWITH_RAMDISK=$(WITH_RAMDISK) \
|
|
-DWITH_BINPACK=$(WITH_BINPACK) \
|
|
-DWITH_STATIC=$(WITH_STATIC) && \
|
|
cmake --build build $(BUILD_ARGS)
|
|
|
|
clean:
|
|
@rm -rf build src/gen
|