From 52882fd5bdefbcec85fcf964ed3899d3ba24c528 Mon Sep 17 00:00:00 2001 From: Eric Date: Sun, 2 Sep 2012 11:48:50 -0500 Subject: initial commit of the relcool system --- Makefile | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..13f14c6 --- /dev/null +++ b/Makefile @@ -0,0 +1,75 @@ +# Copyright 2012 Opscode, Inc. All Rights Reserved. +# +# This file is provided to you under the Apache License, +# Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +ERL = $(shell which erl) + +ERLFLAGS= -pa $(CURDIR)/.eunit -pa $(CURDIR)/ebin -pa $(CURDIR)/*/ebin + +REBAR=$(shell which rebar) + +ifeq ($(REBAR),) +$(error "Rebar not available on this system") +endif + +RELCOOL_PLT=$(CURDIR)/.relcool_plt + +.PHONY: all compile doc clean eunit dialyzer typer shell distclean pdf get-deps + +all: compile eunit dialyzer + +get-deps: + $(REBAR) get-deps + $(REBAR) compile + +compile: + $(REBAR) skip_deps=true compile + +doc: + $(REBAR) doc + +eunit: compile + $(REBAR) skip_deps=true eunit + +$(RELCOOL_PLT): + @echo Building local plt at $(RELCOOL_PLT) + @echo + dialyzer --output_plt $(RELCOOL_PLT) --build_plt \ + --apps erts kernel stdlib -r deps + +dialyzer: $(RELCOOL_PLT) + dialyzer --plt $(RELCOOL_PLT) -Wrace_conditions --src src + +typer: + typer --plt $(RELCOOL_PLT) -r ./src + +shell: compile +# You often want *rebuilt* rebar tests to be available to the +# shell you have to call eunit (to get the tests +# rebuilt). However, eunit runs the tests, which probably +# fails (thats probably why You want them in the shell). This +# runs eunit but tells make to ignore the result. + - @$(REBAR) eunit + @$(ERL) $(ERLFLAGS) + +pdf: + pandoc README.md -o README.pdf + +clean: + $(REBAR) clean + +distclean: clean + rm -rf $(RELCOOL_PLT) + rm -rvf $(CURDIR)/deps/* -- cgit v1.2.3