Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
77 lines (63 sloc) 2.29 KB
SOURCE_DIR=src
EBIN_DIR=ebin
DOC_DIR=doc
INCLUDE_DIR=include
INCLUDES=$(wildcard $(INCLUDE_DIR)/*.hrl)
SOURCES=$(wildcard $(SOURCE_DIR)/*.erl)
TARGETS=$(patsubst $(SOURCE_DIR)/%.erl, $(EBIN_DIR)/%.beam,$(SOURCES))
ERLC_OPTS=-I $(INCLUDE_DIR) -o $(EBIN_DIR) $(INETS_DEF) -Wall +debug_info # +native -v
DIST_DIR=dist
SIGNING_KEY_ID=F8D7D525
VERSION=HEAD
PACKAGE_NAME=rfc4627_jsonrpc
EZ_NAME=$(PACKAGE_NAME).ez
## The path to httpd.hrl has changed in OTP R14A and newer. Detect the
## change, and supply a compile-time macro definition to allow
## rfc4627_jsonrpc_inets.erl to adapt to the new path.
ifeq ($(shell test R14A \> $$(erl -noshell -eval 'io:format(erlang:system_info(otp_release)), halt().') && echo yes),yes)
INETS_DEF=
else
INETS_DEF=-Dnew_inets
endif
all: package
$(EBIN_DIR)/%.beam: $(SOURCE_DIR)/%.erl $(INCLUDES)
erlc $(ERLC_OPTS) $<
clean:
rm -f ebin/*.beam
rm -f $(TARGETS)
rm -rf $(DIST_DIR)
rm -rf $(DOC_DIR)
dist: $(TARGETS) doc/index.html
mkdir -p $(DIST_DIR)
cp -r doc ebin include src test Makefile $(DIST_DIR)
package: $(DIST_DIR)/$(PACKAGE).ez
$(DIST_DIR)/$(PACKAGE).ez: $(TARGETS) dist
mkdir -p $(DIST_DIR)/$(PACKAGE_NAME)
cp -r $(DIST_DIR)/$(EBIN_DIR) $(DIST_DIR)/$(PACKAGE_NAME)
cp -r $(DIST_DIR)/$(INCLUDE_DIR) $(DIST_DIR)/$(PACKAGE_NAME)
(cd $(DIST_DIR); zip -r $(EZ_NAME) $(PACKAGE_NAME))
echo-package-name:
@echo $(PACKAGE_NAME)
distclean: clean
rm -rf $(DIST_DIR)
find . -name '*~' -exec rm {} \;
debian-package: clean
@(cat debian/changelog | head -1 | fgrep -q 'rfc4627-erlang ($(VERSION))') || \
(echo "No changelog entry for version $(VERSION) exists. Aborting."; false)
tar -cf debian-package.tar `ls | grep -v _darcs`
mkdir build
cd build; tar -xf ../debian-package.tar
cd build; dpkg-buildpackage -rfakeroot -k$(SIGNING_KEY_ID)
rm -rf build debian-package.tar
$(DOC_DIR)/index.html: $(DOC_DIR)/overview.edoc
erl -noshell \
-eval 'edoc:application(rfc4627, ".", [{overview, "$(DOC_DIR)/overview.edoc"}, {dir, "$(DOC_DIR)"}])' \
-run init stop
cp src/doc/JSON-RPC-1-1-WD-20060807.html $(DOC_DIR)
$(DOC_DIR)/overview.edoc: src/doc/overview.edoc.in
mkdir -p $(DOC_DIR)
sed -e 's:%%VERSION%%:$(VERSION):g' < $< > $@
test-compile:
erlc $(ERLC_OPTS) $(wildcard test/*.erl)
test: all test-compile
erl -pa ebin -noshell -eval 'passed = test_rfc4627:test_all(), c:q().'
Jump to Line
Something went wrong with that request. Please try again.