summaryrefslogtreecommitdiff
path: root/utils/mknwzboot/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'utils/mknwzboot/Makefile')
-rw-r--r--utils/mknwzboot/Makefile52
1 files changed, 52 insertions, 0 deletions
diff --git a/utils/mknwzboot/Makefile b/utils/mknwzboot/Makefile
new file mode 100644
index 0000000000..3cbb2ef9dd
--- /dev/null
+++ b/utils/mknwzboot/Makefile
@@ -0,0 +1,52 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7
8# We use the SB code available in the Rockbox utils/sbtools directory
9UPGTOOLS_DIR=../../utils/nwztools/upgtools/
10CFLAGS += -I$(UPGTOOLS_DIR) -Wall
11# std=gnu99 is required by MinGW on Windows (c99 is sufficient for Linux / MXE)
12CFLAGS += -std=gnu99 -g -O3
13# dependencies
14# FIXME make it work for windows and maybe embed crypto++
15
16# Location to pkg-config binary.
17PKGCONFIG := pkg-config
18
19# Distros could use different names for the crypto library. We try a list
20# of candidate names, only one of them should be the valid one.
21LIBCRYPTO_NAMES = libcryptopp libcrypto++ cryptopp crypto++
22
23$(foreach l,$(LIBCRYPTO_NAMES),\
24 $(eval LDOPTS += $(shell $(PKGCONFIG) --silence-errors --libs $(l))))
25$(foreach l,$(LIBCRYPTO_NAMES),\
26 $(eval CFLAGS += $(shell $(PKGCONFIG) --silence-errors --cflags $(l))))
27$(foreach l,$(LIBCRYPTO_NAMES),\
28 $(eval CXXFLAGS += $(shell $(PKGCONFIG) --silence-errors --cflags $(l))))
29LDOPTS += -lpthread
30
31OUTPUT = mknwzboot
32
33# inputs for lib
34UPGTOOLS_SOURCES = misc.c upg.c fwp.c mg.cpp md5.cpp
35LIBSOURCES := mknwzboot.c install_script.c uninstall_script.c \
36 $(addprefix $(UPGTOOLS_DIR),$(UPGTOOLS_SOURCES))
37# inputs for binary only
38SOURCES := $(LIBSOURCES) main.c
39# dependencies for binary
40EXTRADEPS :=
41
42include ../libtools.make
43
44install_script.c install_script.h: install_script.sh $(BIN2C)
45 $(BIN2C) install_script.sh install_script
46
47uninstall_script.c uninstall_script.h: uninstall_script.sh $(BIN2C)
48 $(BIN2C) uninstall_script.sh uninstall_script
49
50# explicit dependencies on install_script.{c,h} and mknwzboot.h
51$(OBJDIR)mknwzboot.o: install_script.h install_script.c uninstall_script.h uninstall_script.c mknwzboot.h
52$(OBJDIR)main.o: main.c mknwzboot.h