rpm, debian: prepare-build-env target introduced.
diff --git a/debian/Makefile b/debian/Makefile index 7a10c93..1f19919 100644 --- a/debian/Makefile +++ b/debian/Makefile
@@ -5,6 +5,7 @@ BASE_SRC= nginx-$(BASE_VERSION).tar.gz SRCDIR= nginx-$(BASE_VERSION) SRCPATH?= ../.. +BUILD_ENV_PATH= ${HOME}/debuild CODENAME= $(shell lsb_release -cs) ARCH= $(shell uname -m) @@ -388,6 +389,31 @@ cd nginx-tests && TEST_NGINX_BINARY=$$pwd/base/nginx-debug TEST_NGINX_GLOBALS="$$globals" prove . ; \ } +prepare-build-env: $(BASE_SRC) + @{ \ + set -e ; \ + cwd=`pwd` ; \ + case $$cwd in $(BUILD_ENV_PATH)*) \ + echo "You are in $(BUILD_ENV_PATH), skipping" >&2 ; \ + exit 1 ; \ + esac ; \ + if [ -e $(BUILD_ENV_PATH) ]; then \ + echo "$(BUILD_ENV_PATH) is already exists and going to be removed." ; \ + echo "Press Enter to continue or Ctrl+C to exit" ; \ + read ; \ + rm -rf $(BUILD_ENV_PATH) ; \ + fi ; \ + mkdir -p $(BUILD_ENV_PATH) ; \ + tar -C $(BUILD_ENV_PATH) -xf $(BASE_SRC) ; \ + cp -rP $${cwd} $(BUILD_ENV_PATH)/nginx-$(BASE_VERSION)/ ; \ + cp $(BASE_SRC) $(BUILD_ENV_PATH)/nginx_$(BASE_VERSION).orig.tar.gz ; \ + echo "Build environment has been created in: $(BUILD_ENV_PATH)" ; \ + echo ; \ + echo "Please do the following in order to get available build targets:" ; \ + echo " cd $(BUILD_ENV_PATH)/nginx-$(BASE_VERSION)/debian" ; \ + echo " make" ; \ + } + clean: @rm -rf base module-* rules-base rules-module-* debuild-base debuild-module-* nginx-tests
diff --git a/rpm/SPECS/Makefile b/rpm/SPECS/Makefile index 4f6c33e..464cd63 100644 --- a/rpm/SPECS/Makefile +++ b/rpm/SPECS/Makefile
@@ -4,6 +4,7 @@ BASE_RELEASE= 1 BASE_SRC= nginx-$(BASE_VERSION).tar.gz SRCPATH?= ../SOURCES +BUILD_ENV_PATH= ${HOME}/rpmbuild MODULES= geoip image-filter njs perl xslt @@ -248,6 +249,9 @@ specs: nginx.spec $(addsuffix .spec, $(addprefix nginx-module-, $(MODULES))) +$(BASE_SRC): + wget http://nginx.org/download/$(BASE_SRC) + $(SRCPATH)/$(BASE_SRC): @cd $(SRCPATH) && wget http://nginx.org/download/$(BASE_SRC) @@ -378,6 +382,32 @@ cd nginx-tests && TEST_NGINX_BINARY=$$pwd/base/nginx-debug TEST_NGINX_GLOBALS="$$globals" prove . ; \ } +prepare-build-env: $(BASE_SRC) + @{ \ + set -e ; \ + cwd=`pwd` ; \ + case $$cwd in $(BUILD_ENV_PATH)*) \ + echo "You are in $(BUILD_ENV_PATH), skipping" >&2 ; \ + exit 1 ; \ + esac ; \ + if [ -e $(BUILD_ENV_PATH) ]; then \ + echo "$(BUILD_ENV_PATH) is already exists and going to be removed." ; \ + echo "Press Enter to continue or Ctrl+C to exit" ; \ + read ; \ + rm -rf $(BUILD_ENV_PATH) ; \ + fi ; \ + mkdir -p $(BUILD_ENV_PATH) ; \ + pd=`dirname $${cwd}` ; \ + cp -rP $${pd}/SPECS $(BUILD_ENV_PATH)/ ; \ + cp -rP $${pd}/SOURCES $(BUILD_ENV_PATH)/ ; \ + cp $(BASE_SRC) $(BUILD_ENV_PATH)/SOURCES/ ; \ + echo "Build environment has been created in: $(BUILD_ENV_PATH)" ; \ + echo ; \ + echo "Please do the following in order to get available build targets:" ; \ + echo " cd $(BUILD_ENV_PATH)/SPECS" ; \ + echo " make" ; \ + } + clean: @rm -f base module-* @rm -f nginx.spec nginx-module-*.spec