summaryrefslogtreecommitdiff
path: root/lib/x1000-installer/Makefile
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2021-11-23 20:13:52 +0000
committerAidan MacDonald <amachronic@protonmail.com>2021-11-27 15:28:19 -0500
commit06423cab58569ef01eb526e5f0d2f5c0c8917aa0 (patch)
treeb1a356600f6f218de8d8d1ad1e839aff65c96a0f /lib/x1000-installer/Makefile
parent98f1271aec1fd461ab20a1ae145bba630a5750fb (diff)
downloadrockbox-06423cab58569ef01eb526e5f0d2f5c0c8917aa0.tar.gz
rockbox-06423cab58569ef01eb526e5f0d2f5c0c8917aa0.zip
x1000-installer: Initial commit of new framework
This is a new flash installer framework for the X1000 targets. A bunch of this code is *UNTESTED* but there is an external test harness which allows the library to be built and tested on a PC. Once tests are written and the bugs are ironed out this framework will replace the existing installer code. New features: - Update tarballs are MD5-checksummed to guarantee integrity. - The flash map is no longer fixed -- updates are self describing and carry a map file which specifies the areas to update. - Can take full or partial backups with checksums computed on the fly. - Supports an additional verification mode which reads back data after writing to ensure the flash contents were not silently corrupted. Change-Id: I29a89190c7ff566019f6a844ad0571f01fb7192f
Diffstat (limited to 'lib/x1000-installer/Makefile')
-rw-r--r--lib/x1000-installer/Makefile38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/x1000-installer/Makefile b/lib/x1000-installer/Makefile
new file mode 100644
index 0000000000..35fa747aab
--- /dev/null
+++ b/lib/x1000-installer/Makefile
@@ -0,0 +1,38 @@
1OBJ = src/xf_error.o \
2 src/xf_flashmap.o \
3 src/xf_nandio.o \
4 src/xf_package.o \
5 src/xf_stream.o \
6 src/xf_update.o
7LIB = libx1000-installer.a
8
9TOBJ = test_lib/core_alloc.o \
10 test_lib/fakenand.o \
11 test_lib/file.o \
12 test_lib/pathfuncs.o \
13 test_lib/md5.o \
14 test_lib/strlcpy.o \
15 test/main.o
16TBIN = xf_test
17
18# dependency needs to be built manually
19MTARINC = -I../microtar/src
20MTARLIB = ../microtar/libmicrotar.a
21
22CPPFLAGS = -Iinclude -Itest_lib $(MTARINC) -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L
23CFLAGS = -std=c99 -Wall -Wextra -O2
24
25all: $(LIB) $(TBIN)
26
27%.o: %.c
28 $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
29
30$(LIB): $(OBJ)
31 $(AR) rcs $@ $^ >/dev/null
32
33$(TBIN): $(TOBJ) $(LIB) $(MTARLIB)
34 $(CC) -o $@ $^
35
36clean:
37 rm -f $(LIB) $(OBJ)
38 rm -f $(TBIN) $(TOBJ)