Differences From
Artifact [d43e9d6c44]:
1 +version = dev
1 2 dl = git
2 3 dbg-flags = $(if $(dbg),-g)
3 4
4 5 images = static/default-avatar.webp static/query.webp static/heart.webp static/retweet.webp static/reply.webp static/file.webp static/follow.webp
5 6 #$(addsuffix .webp, $(basename $(wildcard static/*.svg)))
6 7 styles = $(addsuffix .css, $(basename $(wildcard static/*.scss)))
7 8
................................................................................
31 32 dep: dep.mbedtls dep.mongoose dep.json-c
32 33 dep.mbedtls: lib/mbedtls/library/libmbedtls.a \
33 34 lib/mbedtls/library/libmbedcrypto.a \
34 35 lib/mbedtls/library/libmbedx509.a
35 36 dep.mongoose: lib/mongoose/libmongoose.a
36 37 dep.json-c: lib/json-c/libjson-c.a
37 38
39 +static-libs = lib/json-c/libjson-c.a \
40 + lib/mongoose/libmongoose.a \
41 + lib/mbedtls/library/libmbedx509.a \
42 + lib/mbedtls/library/libmbedcrypto.a \
43 + lib/mbedtls/library/libmbedtls.a
44 +
45 +dist-kind ?= o
46 +parsav-dist = parsav-$(dist-kind)dist-$(version)
47 +$(parsav-dist).txz: parsav.$(dist-kind) parsavd.$(dist-kind) dist/readme.md dist/GNUmakefile dist/BSDmakefile dist/makefile dist/default.nix $(static-libs)
48 + mkdir -p $(parsav-dist)
49 + cp -u $^ $(parsav-dist)/
50 + tar cf $(parsav-dist){.tar,}
51 + xz -c9e $(parsav-dist).tar > $@
52 + rm -r $(parsav-dist){.tar,}
53 +
38 54 lib:
39 55 mkdir $@
40 56 # generate a shim static library so mongoose cooperates
41 57 # with the build apparatus. note that parsav is designed
42 58 # to be fronted by a real web server like nginx if SSL
43 59 # is to be used, so we don't turn on SSL in mongoose
44 60 lib/mongoose/libmongoose.a: lib/mongoose lib/mongoose/mongoose.c lib/mongoose/mongoose.h
................................................................................
47 63 -DMG_ENABLE_IPV6=1 \
48 64 -DMG_ENABLE_HTTP_WEBDAV=1 \
49 65 -DMG_ENABLE_HTTP_WEBSOCKET=0
50 66 ar rcs $@ lib/mongoose/*.o
51 67 ranlib $@
52 68
53 69 lib/json-c/Makefile: lib/json-c lib/json-c/CMakeLists.txt
54 - cd lib/json-c && cmake .
70 + cd $< && cmake .
55 71 lib/json-c/libjson-c.a: lib/json-c/Makefile
56 72 $(MAKE) -C lib/json-c
57 73 lib/mbedtls/library/%.a: lib/mbedtls
58 74 $(MAKE) -C lib/mbedtls/library $*.a
59 75
60 76 ifeq ($(dl), git)
61 77 clone = git clone --depth 1 # save time
62 -lib/mongoose: lib
63 - cd lib && $(clone) https://github.com/cesanta/mongoose.git
64 -lib/mbedtls: lib
65 - cd lib && $(clone) https://github.com/ARMmbed/mbedtls.git
66 -lib/json-c: lib
67 - cd lib && $(clone) https://github.com/json-c/json-c.git
78 +ensurelib = mkdir -p lib && cd lib
79 +lib/mongoose:
80 + $(ensurelib) && $(clone) https://github.com/cesanta/mongoose.git
81 +lib/mbedtls:
82 + $(ensurelib) && $(clone) https://github.com/ARMmbed/mbedtls.git
83 +lib/json-c:
84 + $(ensurelib) && $(clone) https://github.com/json-c/json-c.git
68 85 else
69 86 lib/%: lib/%.tar.gz
70 - cd lib && tar zxf $*.tar.gz
87 + $(ensurelib) && tar zxf $*.tar.gz
71 88 mv lib/$$(tar tf $< | head -n1) $@
72 89
73 90 ifeq ($(dl), wget)
74 - dlfile = wget "$(1)" -O "$(2)"
91 + dlfile = mkdir -p $(dir $@) && wget "$1" -O "$@"
75 92 endif
76 93
77 94 ifeq ($(dl), curl)
78 - dlfile = curl "$(1)" -o "$(2)"
95 + dlfile = mkdir -p $(dir $@) && curl "$1" -o "$@"
79 96 endif
80 97
81 -lib/mongoose.tar.gz: lib
82 - $(call dlfile,https://api.github.com/repos/cesanta/mongoose/tarball/master,$@)
83 -lib/mbedtls.tar.gz: lib
84 - $(call dlfile,https://api.github.com/repos/ARMmbed/mbedtls/tarball/master,$@)
85 -lib/json-c.tar.gz: lib
86 - $(call dlfile,https://api.github.com/repos/json-c/json-c/tarball/master,$@)
98 +lib/mongoose.tar.gz:
99 + $(call dlfile,https://api.github.com/repos/cesanta/mongoose/tarball/master)
100 +lib/mbedtls.tar.gz:
101 + $(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)
87 104 endif