parsav  Diff

Differences From Artifact [d43e9d6c44]:

To Artifact [51cc28542c]:



1
2
3
4
5
6
7
..
31
32
33
34
35
36
37















38
39
40
41
42
43
44
..
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
75
76
77
78
79
80
81
82
83
84
85
86
87

dl = git
dbg-flags = $(if $(dbg),-g)

images = static/default-avatar.webp static/query.webp static/heart.webp static/retweet.webp static/reply.webp static/file.webp static/follow.webp
#$(addsuffix .webp, $(basename $(wildcard static/*.svg)))
styles = $(addsuffix .css, $(basename $(wildcard static/*.scss)))

................................................................................
dep: dep.mbedtls dep.mongoose dep.json-c
dep.mbedtls: lib/mbedtls/library/libmbedtls.a \
	lib/mbedtls/library/libmbedcrypto.a \
	lib/mbedtls/library/libmbedx509.a
dep.mongoose: lib/mongoose/libmongoose.a
dep.json-c: lib/json-c/libjson-c.a
















lib:
	mkdir $@
# generate a shim static library so mongoose cooperates
# with the build apparatus. note that parsav is designed
# to be fronted by a real web server like nginx if SSL
# is to be used, so we don't turn on SSL in mongoose
lib/mongoose/libmongoose.a: lib/mongoose lib/mongoose/mongoose.c lib/mongoose/mongoose.h
................................................................................
		-DMG_ENABLE_IPV6=1 \
		-DMG_ENABLE_HTTP_WEBDAV=1 \
		-DMG_ENABLE_HTTP_WEBSOCKET=0
	ar rcs $@ lib/mongoose/*.o
	ranlib $@

lib/json-c/Makefile: lib/json-c lib/json-c/CMakeLists.txt
	cd lib/json-c && cmake .
lib/json-c/libjson-c.a: lib/json-c/Makefile
	$(MAKE) -C lib/json-c
lib/mbedtls/library/%.a: lib/mbedtls 
	$(MAKE) -C lib/mbedtls/library $*.a

ifeq ($(dl), git)
clone = git clone --depth 1 # save time

lib/mongoose: lib
	cd lib && $(clone) https://github.com/cesanta/mongoose.git
lib/mbedtls: lib
	cd lib && $(clone) https://github.com/ARMmbed/mbedtls.git
lib/json-c: lib
	cd lib && $(clone) https://github.com/json-c/json-c.git
else
lib/%: lib/%.tar.gz
	cd lib && tar zxf $*.tar.gz
	mv lib/$$(tar tf $< | head -n1) $@

ifeq ($(dl), wget)
    dlfile = wget "$(1)" -O "$(2)"
endif

ifeq ($(dl), curl)
    dlfile = curl "$(1)" -o "$(2)"
endif

lib/mongoose.tar.gz: lib
	$(call dlfile,https://api.github.com/repos/cesanta/mongoose/tarball/master,$@)
lib/mbedtls.tar.gz: lib
	$(call dlfile,https://api.github.com/repos/ARMmbed/mbedtls/tarball/master,$@)
lib/json-c.tar.gz: lib
	$(call dlfile,https://api.github.com/repos/json-c/json-c/tarball/master,$@)
endif
>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|







>
|
|
|
|
|
|


|



|



|


|
|
|
|
|
|

1
2
3
4
5
6
7
8
..
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
..
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
version = dev
dl = git
dbg-flags = $(if $(dbg),-g)

images = static/default-avatar.webp static/query.webp static/heart.webp static/retweet.webp static/reply.webp static/file.webp static/follow.webp
#$(addsuffix .webp, $(basename $(wildcard static/*.svg)))
styles = $(addsuffix .css, $(basename $(wildcard static/*.scss)))

................................................................................
dep: dep.mbedtls dep.mongoose dep.json-c
dep.mbedtls: lib/mbedtls/library/libmbedtls.a \
	lib/mbedtls/library/libmbedcrypto.a \
	lib/mbedtls/library/libmbedx509.a
dep.mongoose: lib/mongoose/libmongoose.a
dep.json-c: lib/json-c/libjson-c.a

static-libs = lib/json-c/libjson-c.a \
		      lib/mongoose/libmongoose.a \
		      lib/mbedtls/library/libmbedx509.a \
		      lib/mbedtls/library/libmbedcrypto.a \
		      lib/mbedtls/library/libmbedtls.a

dist-kind ?= o
parsav-dist = parsav-$(dist-kind)dist-$(version)
$(parsav-dist).txz: parsav.$(dist-kind) parsavd.$(dist-kind) dist/readme.md dist/GNUmakefile dist/BSDmakefile dist/makefile dist/default.nix $(static-libs)
	mkdir -p $(parsav-dist)
	cp -u $^ $(parsav-dist)/
	tar cf   $(parsav-dist){.tar,}
	xz -c9e  $(parsav-dist).tar > $@
	rm -r    $(parsav-dist){.tar,}

lib:
	mkdir $@
# generate a shim static library so mongoose cooperates
# with the build apparatus. note that parsav is designed
# to be fronted by a real web server like nginx if SSL
# is to be used, so we don't turn on SSL in mongoose
lib/mongoose/libmongoose.a: lib/mongoose lib/mongoose/mongoose.c lib/mongoose/mongoose.h
................................................................................
		-DMG_ENABLE_IPV6=1 \
		-DMG_ENABLE_HTTP_WEBDAV=1 \
		-DMG_ENABLE_HTTP_WEBSOCKET=0
	ar rcs $@ lib/mongoose/*.o
	ranlib $@

lib/json-c/Makefile: lib/json-c lib/json-c/CMakeLists.txt
	cd $< && cmake .
lib/json-c/libjson-c.a: lib/json-c/Makefile
	$(MAKE) -C lib/json-c
lib/mbedtls/library/%.a: lib/mbedtls 
	$(MAKE) -C lib/mbedtls/library $*.a

ifeq ($(dl), git)
clone = git clone --depth 1 # save time
ensurelib = mkdir -p lib && cd lib
lib/mongoose: 
	$(ensurelib) && $(clone) https://github.com/cesanta/mongoose.git
lib/mbedtls: 
	$(ensurelib) && $(clone) https://github.com/ARMmbed/mbedtls.git
lib/json-c: 
	$(ensurelib) && $(clone) https://github.com/json-c/json-c.git
else
lib/%: lib/%.tar.gz
	$(ensurelib) && tar zxf $*.tar.gz
	mv lib/$$(tar tf $< | head -n1) $@

ifeq ($(dl), wget)
    dlfile = mkdir -p $(dir $@) && wget "$1" -O "$@"
endif

ifeq ($(dl), curl)
    dlfile = mkdir -p $(dir $@) && curl "$1" -o "$@"
endif

lib/mongoose.tar.gz:
	$(call dlfile,https://api.github.com/repos/cesanta/mongoose/tarball/master)
lib/mbedtls.tar.gz:
	$(call dlfile,https://api.github.com/repos/ARMmbed/mbedtls/tarball/master)
lib/json-c.tar.gz:
	$(call dlfile,https://api.github.com/repos/json-c/json-c/tarball/master)
endif