Differences From
Artifact [51cc28542c]:
25 25 clean:
26 26 rm parsav parsav.o $(images) $(styles)
27 27
28 28 install: parsav
29 29 mkdir $(prefix)/bin
30 30 cp $< $(prefix)/bin/
31 31
32 -dep: dep.mbedtls dep.mongoose dep.json-c
32 +dep: dep.mbedtls dep.mongoose dep.mjson
33 33 dep.mbedtls: lib/mbedtls/library/libmbedtls.a \
34 34 lib/mbedtls/library/libmbedcrypto.a \
35 35 lib/mbedtls/library/libmbedx509.a
36 36 dep.mongoose: lib/mongoose/libmongoose.a
37 -dep.json-c: lib/json-c/libjson-c.a
37 +dep.mjson: lib/mjson/libmjson.a
38 38
39 -static-libs = lib/json-c/libjson-c.a \
39 +static-libs = lib/mjson/libmjson.a \
40 40 lib/mongoose/libmongoose.a \
41 41 lib/mbedtls/library/libmbedx509.a \
42 42 lib/mbedtls/library/libmbedcrypto.a \
43 43 lib/mbedtls/library/libmbedtls.a
44 44
45 45 dist-kind ?= o
46 46 parsav-dist = parsav-$(dist-kind)dist-$(version)
................................................................................
49 49 cp -u $^ $(parsav-dist)/
50 50 tar cf $(parsav-dist){.tar,}
51 51 xz -c9e $(parsav-dist).tar > $@
52 52 rm -r $(parsav-dist){.tar,}
53 53
54 54 lib:
55 55 mkdir $@
56 +
57 +lib%.a %.a: %.o
58 + ar rcs $@ $<
59 + ranlib $@ # bsd-ism
60 +
56 61 # generate a shim static library so mongoose cooperates
57 62 # with the build apparatus. note that parsav is designed
58 63 # to be fronted by a real web server like nginx if SSL
59 64 # is to be used, so we don't turn on SSL in mongoose
60 -lib/mongoose/libmongoose.a: lib/mongoose lib/mongoose/mongoose.c lib/mongoose/mongoose.h
61 - $(CC) -c $</mongoose.c -o lib/mongoose/mongoose.o \
65 +lib/mongoose/mongoose.o: lib/mongoose/mongoose.c lib/mongoose/mongoose.h lib/mongoose
66 + $(CC) -c $< -o lib/mongoose/mongoose.o \
62 67 -DMG_ENABLE_THREADS=1 \
63 68 -DMG_ENABLE_IPV6=1 \
64 69 -DMG_ENABLE_HTTP_WEBDAV=1 \
65 70 -DMG_ENABLE_HTTP_WEBSOCKET=0
66 - ar rcs $@ lib/mongoose/*.o
67 - ranlib $@
68 71
69 -lib/json-c/Makefile: lib/json-c lib/json-c/CMakeLists.txt
70 - cd $< && cmake .
71 -lib/json-c/libjson-c.a: lib/json-c/Makefile
72 - $(MAKE) -C lib/json-c
72 +lib/mjson/mjson.o: lib/mjson/src/mjson.c lib/mjson/src/mjson.h lib/mjson
73 + $(CC) -c $< -o lib/mjson/mjson.o \
74 + -DMJSON_MAX_DEPTH=16 \
75 + -DMJSON_ENABLE_BASE64=0 \
76 + -DMJSON_ENABLE_RPC=0
77 +
73 78 lib/mbedtls/library/%.a: lib/mbedtls
74 79 $(MAKE) -C lib/mbedtls/library $*.a
75 80
76 81 ifeq ($(dl), git)
77 82 clone = git clone --depth 1 # save time
78 83 ensurelib = mkdir -p lib && cd lib
79 84 lib/mongoose:
80 85 $(ensurelib) && $(clone) https://github.com/cesanta/mongoose.git
86 +lib/mjson:
87 + $(ensurelib) && $(clone) https://github.com/cesanta/mjson.git
81 88 lib/mbedtls:
82 89 $(ensurelib) && $(clone) https://github.com/ARMmbed/mbedtls.git
83 -lib/json-c:
84 - $(ensurelib) && $(clone) https://github.com/json-c/json-c.git
85 90 else
86 91 lib/%: lib/%.tar.gz
87 92 $(ensurelib) && tar zxf $*.tar.gz
88 93 mv lib/$$(tar tf $< | head -n1) $@
89 94
90 95 ifeq ($(dl), wget)
91 96 dlfile = mkdir -p $(dir $@) && wget "$1" -O "$@"
................................................................................
93 98
94 99 ifeq ($(dl), curl)
95 100 dlfile = mkdir -p $(dir $@) && curl "$1" -o "$@"
96 101 endif
97 102
98 103 lib/mongoose.tar.gz:
99 104 $(call dlfile,https://api.github.com/repos/cesanta/mongoose/tarball/master)
105 +lib/mjson.tar.gz:
106 + $(call dlfile,https://api.github.com/repos/cesanta/mjson/tarball/master)
100 107 lib/mbedtls.tar.gz:
101 108 $(call dlfile,https://api.github.com/repos/ARMmbed/mbedtls/tarball/master)
102 -lib/json-c.tar.gz:
103 - $(call dlfile,https://api.github.com/repos/json-c/json-c/tarball/master)
104 109 endif