# __________ __ ___. # Open \______ \ ____ ____ | | _\_ |__ _______ ___ # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ # \/ \/ \/ \/ \/ # We use the SB code available in the Rockbox utils/sbtools directory UPGTOOLS_DIR=../../utils/nwztools/upgtools/ CFLAGS += -I$(UPGTOOLS_DIR) -Wall # std=gnu99 is required by MinGW on Windows (c99 is sufficient for Linux / MXE) CFLAGS += -std=gnu99 -g -O3 # dependencies # FIXME make it work for windows and maybe embed crypto++ # Location to pkg-config binary. PKGCONFIG := pkg-config # Distros could use different names for the crypto library. We try a list # of candidate names, only one of them should be the valid one. LIBCRYPTO_NAMES = libcryptopp libcrypto++ cryptopp crypto++ $(foreach l,$(LIBCRYPTO_NAMES),\ $(eval LDOPTS += $(shell $(PKGCONFIG) --silence-errors --libs $(l)))) $(foreach l,$(LIBCRYPTO_NAMES),\ $(eval CFLAGS += $(shell $(PKGCONFIG) --silence-errors --cflags $(l)))) $(foreach l,$(LIBCRYPTO_NAMES),\ $(eval CXXFLAGS += $(shell $(PKGCONFIG) --silence-errors --cflags $(l)))) LDOPTS += -lpthread OUTPUT = mknwzboot # inputs for lib UPGTOOLS_SOURCES = misc.c upg.c fwp.c mg.cpp md5.cpp LIBSOURCES := mknwzboot.c install_script.c uninstall_script.c \ $(addprefix $(UPGTOOLS_DIR),$(UPGTOOLS_SOURCES)) # inputs for binary only SOURCES := $(LIBSOURCES) main.c # dependencies for binary EXTRADEPS := include ../libtools.make install_script.c install_script.h: install_script.sh $(BIN2C) $(BIN2C) install_script.sh install_script uninstall_script.c uninstall_script.h: uninstall_script.sh $(BIN2C) $(BIN2C) uninstall_script.sh uninstall_script # explicit dependencies on install_script.{c,h} and mknwzboot.h $(OBJDIR)mknwzboot.o: install_script.h install_script.c uninstall_script.h uninstall_script.c mknwzboot.h $(OBJDIR)main.o: main.c mknwzboot.h