parsav  Diff

Differences From Artifact [d43e9d6c44]:

To Artifact [51cc28542c]:


            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