You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by kx...@apache.org on 2015/11/12 00:07:37 UTC

[25/50] couchdb commit: updated refs/heads/2876-js-tests to bd19653

Reorganize Makefile commands


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/9acb1740
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/9acb1740
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/9acb1740

Branch: refs/heads/2876-js-tests
Commit: 9acb174022dceec5dc0e6b906da8365dbe04ccc7
Parents: d6f1937
Author: Alexander Shorin <kx...@apache.org>
Authored: Sat Oct 17 00:51:27 2015 +0300
Committer: Alexander Shorin <kx...@apache.org>
Committed: Mon Oct 19 13:47:39 2015 +0300

----------------------------------------------------------------------
 Makefile | 190 ++++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 117 insertions(+), 73 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/9acb1740/Makefile
----------------------------------------------------------------------
diff --git a/Makefile b/Makefile
index 178233b..11dd5e3 100644
--- a/Makefile
+++ b/Makefile
@@ -19,34 +19,85 @@ COUCHDB_VERSION = $(vsn_major).$(vsn_minor).$(vsn_patch)$(COUCHDB_VERSION_SUFFIX
 
 DESTDIR=
 
+
+################################################################################
+# Main commands
+################################################################################
+
+
 all: couch fauxton docs
 
-config.erl:
-	@echo "Apache CouchDB has not been configured."
-	@echo "Try \"./configure -h\" for help."
-	@echo
-	@false
+
+################################################################################
+# Building
+################################################################################
+
 
 couch: config.erl
-	@${REBAR} compile
+	@$(REBAR) compile
 	@cp src/couch/priv/couchjs bin/
 
-clean:
-	@${REBAR} -r clean
-	@rm -f bin/couchjs
-	@rm -rf src/*/ebin
-	@rm -rf src/*/.rebar
-	@rm -rf src/*/priv/*.so
-	@rm -rf src/couch/priv/{couchspawnkillable,couchjs}
-	@rm -rf share/server/main.js share/server/main-coffee.js
-	@rm -rf tmp dev/data dev/lib dev/logs
-	@rm -f src/couch/priv/couchspawnkillable
-	@rm -f src/couch/priv/couch_js/config.h
-	@rm -f dev/boot_node.beam dev/pbkdf2.pyc log/crash.log
+
+docs: src/docs/build
+
+
+fauxton: share/www
+
+
+################################################################################
+# Testing
+################################################################################
+
 
 check: javascript eunit build-test
 
-# creates a full erlang release
+
+eunit: export BUILDDIR = $(shell pwd)
+eunit: export ERL_AFLAGS = -config $(shell pwd)/rel/files/eunit.config
+eunit: couch
+	@$(REBAR) setup_eunit 2> /dev/null
+	@$(REBAR) -r eunit skip_deps=meck,mochiweb,lager,snappy,folsom,proper $(EUNIT_OPTS)
+
+
+javascript: all
+	# TODO: Fix tests to look for these files in their new path
+	@mkdir -p share/www/script/test
+	@cp test/javascript/tests/lorem*.txt share/www/script/test/
+	@dev/run -q --with-admin-party-please test/javascript/run
+	@rm -rf share/www/script
+
+
+build-test:
+	@test/build/test-configure.sh
+
+
+################################################################################
+# Developing
+################################################################################
+
+
+docker-image:
+	@docker build --rm -t couchdb/dev-cluster .
+
+
+docker-start:
+	@docker run -d -P -t couchdb/dev-cluster > .docker-id
+
+
+docker-stop:
+	@docker stop `cat .docker-id`
+
+
+introspect:
+	@$(REBAR) -r update-deps
+	@./introspect
+
+
+################################################################################
+# Distributing
+################################################################################
+
+
 dist: all
 	@./build-aux/couchdb-build-release.sh $(COUCHDB_VERSION)
 
@@ -61,30 +112,15 @@ dist: all
 	@mkdir -p apache-couchdb-$(COUCHDB_VERSION)/share/docs/info
 	@cp src/docs/build/texinfo/CouchDB.info apache-couchdb-$(COUCHDB_VERSION)/share/docs/info/
 
-# Tar!
 	@tar czf apache-couchdb-$(COUCHDB_VERSION).tar.gz apache-couchdb-$(COUCHDB_VERSION)
 	@echo "Done: apache-couchdb-$(COUCHDB_VERSION).tar.gz"
 
-distclean: clean
-	@rm -f install.mk
-	@rm -f config.erl
-	@rm -f rel/couchdb.config
-ifneq ($(IN_RELEASE), true)
-# when we are in a release, don’t delete the
-# copied sources, generated docs, or fauxton
-	@rm -rf rel/couchdb
-	@rm -rf share/www
-	@rm -rf src/docs
-endif
-
-devclean:
-	@rm -rf dev/lib/*/data
 
 -include install.mk
 install: all
 	@echo "Installing CouchDB into $(DESTDIR)/$(install_dir)..." | sed -e 's,///,/,'
 	@rm -rf rel/couchdb
-	@${REBAR} generate # make full erlang release
+	@$(REBAR) generate # make full erlang release
 
 	@mkdir -p $(DESTDIR)/$(install_dir)
 	@cp -R rel/couchdb/* $(DESTDIR)/$(install_dir)
@@ -125,6 +161,44 @@ install: all
 
 	@echo "...done"
 
+
+################################################################################
+# Cleaning
+################################################################################
+
+
+clean:
+	@$(REBAR) -r clean
+	@rm -f bin/couchjs
+	@rm -rf src/*/ebin
+	@rm -rf src/*/.rebar
+	@rm -rf src/*/priv/*.so
+	@rm -rf src/couch/priv/{couchspawnkillable,couchjs}
+	@rm -rf share/server/main.js share/server/main-coffee.js
+	@rm -rf tmp dev/data dev/lib dev/logs
+	@rm -f src/couch/priv/couchspawnkillable
+	@rm -f src/couch/priv/couch_js/config.h
+	@rm -f dev/boot_node.beam dev/pbkdf2.pyc log/crash.log
+
+
+
+distclean: clean
+	@rm -f install.mk
+	@rm -f config.erl
+	@rm -f rel/couchdb.config
+ifneq ($(IN_RELEASE), true)
+# when we are in a release, don’t delete the
+# copied sources, generated docs, or fauxton
+	@rm -rf rel/couchdb
+	@rm -rf share/www
+	@rm -rf src/docs
+endif
+
+
+devclean:
+	@rm -rf dev/lib/*/data
+
+
 uninstall:
 	@rm -rf $(DESTDIR)/$(install_dir)
 	@rm -f $(DESTDIR)/$(bin_dir)/couchdb
@@ -137,57 +211,27 @@ uninstall:
 	@rm -rf $(DESTDIR)/$(man_dir)
 	@rm -rf $(DESTDIR)/$(info_dir)
 
-install.mk:
-# ignore install.mk missing if we are running
-# `make clean` without having run ./configure first
-ifneq ($(MAKECMDGOALS), clean)
-	@echo "No install.mk found. Run ./configure"
-	@exit 1
-endif
-
-docker-image:
-	@docker build --rm -t couchdb/dev-cluster .
-
-docker-start:
-	@docker run -d -P -t couchdb/dev-cluster > .docker-id
 
-docker-stop:
-	@docker stop `cat .docker-id`
-
-eunit: export BUILDDIR = $(shell pwd)
-eunit: export ERL_AFLAGS = -config $(shell pwd)/rel/files/eunit.config
-eunit: couch
-	@${REBAR} setup_eunit 2> /dev/null
-	@${REBAR} -r eunit skip_deps=meck,mochiweb,lager,snappy,folsom,proper $(EUNIT_OPTS)
+################################################################################
+# Misc
+################################################################################
 
-javascript: all
-	# TODO: Fix tests to look for these files in their new path
-	@mkdir -p share/www/script/test
-	@cp test/javascript/tests/lorem*.txt share/www/script/test/
-	@dev/run -q --with-admin-party-please test/javascript/run
-	@rm -rf share/www/script
 
-build-test:
-	@test/build/test-configure.sh
+config.erl:
+	@echo "Apache CouchDB has not been configured."
+	@echo "Try \"./configure -h\" for help."
+	@echo
+	@false
 
-# build docs
-docs: src/docs/build
 
 src/docs/build:
 ifeq ($(with_docs), 1)
 	@cd src/docs; $(MAKE)
 endif
 
-# build fauxton
-fauxton: share/www
 
 share/www:
 ifeq ($(with_fauxton), 1)
 	@echo "Building Fauxton"
 	@cd src/fauxton && npm install && ./node_modules/grunt-cli/bin/grunt couchdb
 endif
-
-.PHONY: introspect
-introspect:
-	${REBAR} -r update-deps
-	./introspect