diff options
Diffstat (limited to 'ubi-utils/Makefile')
-rw-r--r-- | ubi-utils/Makefile | 126 |
1 files changed, 68 insertions, 58 deletions
diff --git a/ubi-utils/Makefile b/ubi-utils/Makefile index 686aa60..307da31 100644 --- a/ubi-utils/Makefile +++ b/ubi-utils/Makefile @@ -1,79 +1,89 @@ # -# This makefile simplifies the build process for a toolchain user. -# A toolchain developer should prefer a manual build process which -# fits to his original needs. +# Makefile for ubi-utils # -X86_PREFIX?=/usr/local -x86_path=./build_x86 -x86_status=$(x86_path)/config.status +HOST_OS_NAME := $(shell uname -s) +HOST_VERSION_NAME := $(shell uname -r) +BUILD_CPU := $(shell uname -m) +BUILD_OS := $(shell uname -o) -PPC_PREFIX?=/opt/ppcnf/crossroot -ppc_path=./build_ppc -ppc_status=$(ppc_path)/config.status +KERNELHDR := ../include # mtd-utils private headers +DESTDIR := /usr/local # default installation +SBINDIR := bin # default directory for binaries -all: x86 ppc +CC := $(CROSS)gcc +CFLAGS := -I./inc -I./src -I$(KERNELHDR) -O2 -g -Wall -Werror \ + -Wwrite-strings -W -std=gnu99 \ + -DHOST_OS_NAME=\"$(HOST_OS_NAME)\" \ + -DHOST_VERSION_NAME=\"$(HOST_VERSION_NAME)\" \ + -DBUILD_CPU=\"$(BUILD_CPU)\" -DBUILD_OS=\"$(BUILD_OS)\" -install: install_x86 install_ppc -uninstall: uninstall_x86 uninstall_ppc +PERLPROGS = mkpfi ubicrc32.pl +TARGETS = ubiupdatevol ubimkvol ubirmvol pfiflash pddcustomize ubimirror \ + bin2nand nand2bin ubigen mkbootenv unubi pfi2bin -install_x86: x86 - make -C $(x86_path) install +vpath %.c ./src -install_ppc: ppc - make -C $(ppc_path) install +%: %.o + $(CC) $(LDFLAGS) -g -o $@ $^ +%.o: %.c + $(CC) $(CFLAGS) -g -c -o $@ $< -g -Wp,-MD,.$(shell basename $<).dep -uninstall_x86: x86 - make -C $(x86_path) uninstall +all: $(TARGETS) -uninstall_ppc: ppc - make -C $(ppc_path) uninstall +IGNORE=${wildcard .*.c.dep} +-include ${IGNORE} +clean: + rm -rf *.o $(TARGETS) .*.c.dep +ubiupdatevol: ubiupdatevol.o error.o libubi.o libubi_sysfs.o + $(CC) $(LDFLAGS) -o $@ $^ -x86: $(x86_status) - make -C $(x86_path) +ubimkvol: ubimkvol.o error.o libubi.o libubi_sysfs.o + $(CC) $(LDFLAGS) -o $@ $^ -ppc: $(ppc_status) - make -C $(ppc_path) +ubirmvol: ubirmvol.o error.o libubi.o libubi_sysfs.o + $(CC) $(LDFLAGS) -o $@ $^ -$(x86_status): $(x86_path) Makefile.in - cd $(x86_path) && ./config.status || ../configure \ - --prefix=$(X86_PREFIX) +pddcustomize: pddcustomize.o error.o libubimirror.o bootenv.o hashmap.o \ + libubi.o libubi_sysfs.o + $(CC) $(LDFLAGS) -o $@ $^ -$(ppc_status): $(ppc_path) Makefile.in - cd $(ppc_path) && ./config.status || ../configure \ - --build=i686-pc-linux-gnu \ - --host=ppc-linux \ - --prefix=$(PPC_PREFIX) \ - --exec-prefix=$(PPC_PREFIX) +pfiflash: pfiflash.o libpfiflash.o list.o reader.o error.o libubimirror.o \ + bootenv.o hashmap.o pfi.o libubi.o libubi_sysfs.o + $(CC) $(LDFLAGS) -o $@ $^ -Makefile.in: Makefile.am - ./bootstrap +ubimirror: ubimirror.o error.o libubimirror.o bootenv.o hashmap.o \ + libubi.o libubi_sysfs.o + $(CC) $(LDFLAGS) -o $@ $^ -$(x86_path): - mkdir -p $(x86_path) +nand2bin: nand2bin.o nandecc.o nandcorr.o + $(CC) $(LDFLAGS) -o $@ $^ -$(ppc_path): - mkdir -p $(ppc_path) +bin2nand: bin2nand.o error.o nandecc.o + $(CC) $(LDFLAGS) -o $@ $^ -clean: - rm -rf depcomp install-sh missing .deps \ - config.log config.status \ - inc/Makefile.in lib/Makefile.in - find . -type f -name "*~" -print | xargs $(RM) - rm -f Makefile.in - rm -f aclocal.m4 - rm -rf autom4te.cache - rm -f config.guess - rm -f config.sub - rm -f configure - rm -f depcomp - rm -f install-sh - rm -f ltmain.sh - rm -f missing - rm -f lib/Makefile.in - rm -f inc/Makefile.in - rm -rf $(x86_path) - rm -rf $(ppc_path) +ubigen: ubigen.o libubigen.o crc32.o + $(CC) $(LDFLAGS) -o $@ $^ + +mkbootenv: mkbootenv.o bootenv.o hashmap.o error.o + $(CC) $(LDFLAGS) -o $@ $^ + +unubi: unubi.o crc32.o + $(CC) $(LDFLAGS) -o $@ $^ + +pfi2bin: pfi2bin.o peb.o error.o list.o crc32.o libubigen.o bootenv.o \ + hashmap.o reader.o pfi.o + $(CC) $(LDFLAGS) -o $@ $^ + +install: ${TARGETS} + mkdir -p ${DESTDIR}/${SBINDIR} + install -m0755 ${TARGETS} ${DESTDIR}/${SBINDIR}/ + (cd perl && install ${PERLPROGS} ${DESTDIR}/${SBINDIR}/) + +uninstall: + for file in ${TARGETS} ${PERLPROGS}; do \ + $(RM) ${DESTDIR}/${SBINDIR}/$$file; \ + done |