0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 04:10:24 +00:00

erlang.mk now has built-in support for relx

This commit is contained in:
Loïc Hoguin 2013-10-14 16:05:19 +02:00
parent 2b2829f585
commit 4769412daa
18 changed files with 36 additions and 139 deletions

33
erlang.mk vendored
View file

@ -24,7 +24,7 @@ export PKG_FILE
PKG_FILE_URL ?= https://raw.github.com/extend/erlang.mk/master/packages.v1.tsv
define get_pkg_file
wget -O $(PKG_FILE) $(PKG_FILE_URL)
wget -O $(PKG_FILE) $(PKG_FILE_URL) || rm $(PKG_FILE)
endef
# Verbosity and tweaks.
@ -46,8 +46,35 @@ dtl_verbose = $(dtl_verbose_$(V))
gen_verbose_0 = @echo " GEN " $@;
gen_verbose = $(gen_verbose_$(V))
.PHONY: all clean-all app clean deps clean-deps docs clean-docs \
build-tests tests build-plt dialyze
.PHONY: rel clean-rel all clean-all app clean deps clean-deps \
docs clean-docs build-tests tests build-plt dialyze
# Release.
RELX_CONFIG ?= $(CURDIR)/relx.config
ifneq ($(wildcard $(RELX_CONFIG)),)
RELX ?= $(CURDIR)/relx
export RELX
RELX_URL ?= https://github.com/erlware/relx/releases/download/0.4.0/relx
define get_relx
wget -O $(RELX) $(RELX_URL) || rm $(RELX)
chmod +x $(RELX)
endef
rel: clean-rel all $(RELX)
@$(RELX)
$(RELX):
@$(call get_relx)
clean-rel:
@rm -rf _rel
endif
# Deps directory.

View file

@ -3,12 +3,4 @@ PROJECT = chunked_hello_world
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = compress_response
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -4,12 +4,4 @@ DEPS = cowboy erlydtl
dep_cowboy = pkg://cowboy master
dep_erlydtl = pkg://erlydtl master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = echo_get
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = echo_post
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = error_hook
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = eventsource
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = hello_world
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = rest_basic_auth
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = rest_hello_world
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = rest_pastebin
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = rest_stream_response
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = ssl_hello_world
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = static_world
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = web_server
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -3,12 +3,4 @@ PROJECT = websocket
DEPS = cowboy
dep_cowboy = pkg://cowboy master
.PHONY: release clean-release
release: clean-release all
relx
clean-release:
rm -rf _rel
include ../../erlang.mk

View file

@ -44,6 +44,7 @@ hello_erlang/
hello_erlang_sup.beam
hello_handler.beam
_rel/
relx
```
As you can probably guess, the `.app.src` file end up becoming
@ -271,14 +272,11 @@ $ make
```
That's not all however, as we want to create a working release.
For that purpose we will need `relx`. You can download it directly
[from Github](https://github.com/erlware/relx). After downloading
it, you will need to build it using `make`, which should give
you a `relx` executable that you can then put in your `$PATH`.
You only need to do this once.
For that purpose, we need to create a `relx.config` file. When
this file exists, `erlang.mk` will automatically download `relx`
and build the release when you type `make`.
We are almost ready to build the release. All that's left is
the `relx.config` file! In it, we only need to tell `relx` that
In the `relx.config` file, we only need to tell `relx` that
we want the release to include the `hello_erlang` application,
and that we want an extended start script for convenience.
`relx` will figure out which other applications are required
@ -295,7 +293,7 @@ version, and the applications to be included.
We can now build and start the release.
``` bash
$ relx
$ make
$ ./_rel/bin/hello_erlang console
```