Build nginx

master
Jiajie Chen 6 years ago
parent 18753c0190
commit 2d9d78e714

@ -18,7 +18,6 @@ ucore_bin_path := ucore/build/$(arch)
biscuit_bin_path := biscuit/build/$(arch)
busybox := $(out_dir)/busybox
rust_build_args := --target targets/$(arch)-rcore.json
cmake_build_args := -DARCH=$(arch)
@ -28,7 +27,7 @@ cmake_build_args += -DCMAKE_BUILD_TYPE=Release
endif
.PHONY: all clean build rust ucore biscuit bin busybox
.PHONY: all clean build rust ucore biscuit bin busybox nginx
all: build
@ -76,7 +75,11 @@ endif
busybox: $(busybox)
build: rust ucore biscuit $(busybox)
nginx:
@cd nginx && make arch=$(arch)
@cp nginx/build/$(arch)/nginx $(out_dir)/nginx
build: rust ucore biscuit $(busybox) nginx
sfsimg: $(out_qcow2)

2
nginx/.gitignore vendored

@ -0,0 +1,2 @@
build/
src/*.tar.gz

@ -0,0 +1,38 @@
nginx_version := 1.14.2
nginx_tarball := nginx-$(nginx_version).tar.gz
nginx_tarball_path := src/nginx-$(nginx_version).tar.gz
build_dir := build/$(arch)
nginx_dir := $(build_dir)/nginx-$(nginx_version)
cc := $(arch)-linux-musl-gcc
strip := $(arch)-linux-musl-strip
bin_unstripped := build/$(arch)/nginx_unstripped
bin := build/$(arch)/nginx
$(nginx_tarball_path):
wget https://nginx.org/download/$(nginx_tarball) -O $(nginx_tarball_path)
$(nginx_dir): $(nginx_tarball_path)
mkdir -p $(build_dir)
cd $(build_dir) && tar xvf ../../$(nginx_tarball_path)
$(nginx_dir)/objs/nginx: $(nginx_dir)
sed -i 's/ngx_feature_run=yes/ngx_feature_run=no/' $(nginx_dir)/auto/cc/name
sed -i 's/ngx_test="$$CC /ngx_test="gcc /' $(nginx_dir)/auto/types/sizeof
cd $(nginx_dir) && ./configure --with-cc=$(cc) --with-cc-opt=-static --with-ld-opt=-static --without-pcre --without-http_rewrite_module --without-http_gzip_module --with-poll_module --without-http_upstream_zone_module
cd $(nginx_dir) && echo "#ifndef NGX_SYS_NERR\n#define NGX_SYS_NERR 132\n#endif\n" >> objs/ngx_auto_config.h
cd $(nginx_dir) && echo "#ifndef NGX_HAVE_SVSVSHM\n#define NGX_HAVE_SYSVSHM 1\n#endif\n" >> objs/ngx_auto_config.h
cd $(nginx_dir) && make
$(bin_unstripped): $(nginx_dir)/objs/nginx
cp $(nginx_dir)/objs/nginx $(bin_unstripped)
$(bin): $(bin_unstripped)
cp $(bin_unstripped) $(bin)
$(strip) $(bin)
.PHONY: all clean
all: $(bin)
clean:
rm -rf build/$(arch)
Loading…
Cancel
Save