summaryrefslogtreecommitdiff
path: root/ubi-utils/Makefile
blob: 1f8e543a28d171b24b6f92db4b157cd311be99c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#
# Makefile for ubi-utils
#

OPTFLAGS := -O2 -Wall
KERNELHDR := ../include
DESTDIR := /usr/local
SBINDIR=/usr/sbin
MANDIR=/usr/man
INCLUDEDIR=/usr/include

CC := $(CROSS)gcc
CFLAGS := -I./inc -I./src -I$(KERNELHDR) $(OPTFLAGS) -Werror -Wall -O0 -g

PERLPROGS = mkpfi
TARGETS = ubiupdate ubimkvol ubirmvol ubicrc32 ubinfo ubiattach ubidetach \
	  unubi pfi2bin

vpath   %.c ./src

%: %.o
	$(CC) $(LDFLAGS) -g -o $@ $^

%.o: %.c
	$(CC) $(CFLAGS) -g -c -o $@ $< -g -Wp,-MD,.$(shell basename $<).dep

all: $(TARGETS) libubi.a

IGNORE=${wildcard .*.c.dep}
-include ${IGNORE}

clean:
	rm -rf *.o $(TARGETS) .*.c.dep libubi.a

libubi.a: libubi.o
	ar cr $@ $^

ubidetach: ubidetach.o common.o libubi.o
	$(CC) $(LDFLAGS) -o $@ $^

ubiattach: ubiattach.o common.o libubi.o
	$(CC) $(LDFLAGS) -o $@ $^

ubinfo: ubinfo.o common.o libubi.o
	$(CC) $(LDFLAGS) -o $@ $^

ubiupdate: ubiupdate.o common.o libubi.o
	$(CC) $(LDFLAGS) -o $@ $^

ubimkvol: ubimkvol.o common.o libubi.o
	$(CC) $(LDFLAGS) -o $@ $^

ubirmvol: ubirmvol.o common.o libubi.o
	$(CC) $(LDFLAGS) -o $@ $^

ubicrc32: ubicrc32.o crc32.o
	$(CC) $(LDFLAGS) -o $@ $^

unubi: unubi.o crc32.o unubi_analyze.o eb_chain.o
	$(CC) $(LDFLAGS) -o $@ $^

pfi2bin: pfi2bin.o common.o list.o crc32.o libubigen.o bootenv.o \
	 hashmap.o libpfi.o common.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