-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use dynamic Rebar configuration Make iconv dependency optional Disable transient_supervisors compile option Add hipe compilation support Only compile ibrowse and lhttpc when needed Make it possible to generate an OTP application release Add --enable-debug compile option Add --enable-all compiler option Add --enable-tools configure option Add --with-erlang configure option. Add --enable-erlang-version-check configure option. Add lager support Improve the test suite
- Loading branch information
Showing
322 changed files
with
15,723 additions
and
24,237 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,257 @@ | ||
REBAR = @ESCRIPT@ rebar | ||
INSTALL = @INSTALL@ | ||
SED = @SED@ | ||
ERL = @ERL@ | ||
|
||
prefix = @prefix@ | ||
exec_prefix = @exec_prefix@ | ||
|
||
DESTDIR = | ||
|
||
# /etc/ejabberd/ | ||
ETCDIR = $(DESTDIR)@sysconfdir@/ejabberd | ||
|
||
# /sbin/ | ||
SBINDIR = $(DESTDIR)@sbindir@ | ||
|
||
# /lib/ejabberd/ | ||
EJABBERDDIR = $(DESTDIR)@libdir@/ejabberd | ||
|
||
# /share/doc/ejabberd | ||
PACKAGE_TARNAME = @PACKAGE_TARNAME@ | ||
datarootdir = @datarootdir@ | ||
DOCDIR = $(DESTDIR)@docdir@ | ||
|
||
# /usr/lib/ejabberd/ebin/ | ||
BEAMDIR = $(EJABBERDDIR)/ebin | ||
|
||
# /usr/lib/ejabberd/include/ | ||
INCLUDEDIR = $(EJABBERDDIR)/include | ||
|
||
# /usr/lib/ejabberd/priv/ | ||
PRIVDIR = $(EJABBERDDIR)/priv | ||
|
||
# /usr/lib/ejabberd/priv/bin | ||
PBINDIR = $(PRIVDIR)/bin | ||
|
||
# /usr/lib/ejabberd/priv/lib | ||
SODIR = $(PRIVDIR)/lib | ||
|
||
# /usr/lib/ejabberd/priv/msgs | ||
MSGSDIR = $(PRIVDIR)/msgs | ||
|
||
# /var/lib/ejabberd/ | ||
SPOOLDIR = $(DESTDIR)@localstatedir@/lib/ejabberd | ||
|
||
# /var/lock/ejabberdctl | ||
CTLLOCKDIR = $(DESTDIR)@localstatedir@/lock/ejabberdctl | ||
|
||
# /var/lib/ejabberd/.erlang.cookie | ||
COOKIEFILE = $(SPOOLDIR)/.erlang.cookie | ||
|
||
# /var/log/ejabberd/ | ||
LOGDIR = $(DESTDIR)@localstatedir@/log/ejabberd | ||
|
||
INSTALLUSER=@INSTALLUSER@ | ||
# if no user was enabled, don't set privileges or ownership | ||
ifeq ($(INSTALLUSER),) | ||
O_USER= | ||
G_USER= | ||
CHOWN_COMMAND=echo | ||
CHOWN_OUTPUT=/dev/null | ||
INIT_USER=root | ||
else | ||
O_USER=-o $(INSTALLUSER) | ||
G_USER=-g $(INSTALLUSER) | ||
CHOWN_COMMAND=chown | ||
CHOWN_OUTPUT=&1 | ||
INIT_USER=$(INSTALLUSER) | ||
endif | ||
|
||
all: deps src | ||
|
||
deps: deps/.got | ||
|
||
deps/.got: | ||
rm -rf deps/.got | ||
rm -rf deps/.built | ||
$(REBAR) get-deps && :> deps/.got | ||
|
||
deps/.built: | ||
$(REBAR) compile && :> deps/.built | ||
|
||
src: deps/.built | ||
$(REBAR) skip_deps=true compile | ||
|
||
update: | ||
rm -rf deps/.got | ||
rm -rf deps/.built | ||
$(REBAR) update-deps && :> deps/.got | ||
|
||
translations: | ||
contrib/extract_translations/prepare-translation.sh -updateall | ||
|
||
doc: | ||
echo making $$target in doc; \ | ||
(cd doc && $(MAKE) $$target) || exit 1 | ||
|
||
edoc: | ||
$(ERL) -noinput +B -eval \ | ||
'case edoc:application(ejabberd, ".", []) of ok -> halt(0); error -> halt(1) end.' | ||
|
||
spec: | ||
$(ERL) -noinput +B -pa ebin -pa deps/*/ebin -eval \ | ||
'case xml_gen:compile("tools/xmpp_codec.spec") of ok -> halt(0); _ -> halt(1) end.' | ||
|
||
install: all | ||
# | ||
# Configuration files | ||
$(INSTALL) -d -m 750 $(G_USER) $(ETCDIR) | ||
[ -f $(ETCDIR)/ejabberd.cfg ] \ | ||
&& $(INSTALL) -b -m 640 $(G_USER) ejabberd.cfg.example $(ETCDIR)/ejabberd.cfg-new \ | ||
|| $(INSTALL) -b -m 640 $(G_USER) ejabberd.cfg.example $(ETCDIR)/ejabberd.cfg | ||
$(SED) -e "s*{{rootdir}}*@prefix@*" \ | ||
-e "s*{{installuser}}*@INSTALLUSER@*" \ | ||
-e "s*{{libdir}}*@libdir@*" \ | ||
-e "s*{{sysconfdir}}*@sysconfdir@*" \ | ||
-e "s*{{localstatedir}}*@localstatedir@*" \ | ||
-e "s*{{docdir}}*@docdir@*" \ | ||
-e "s*{{erl}}*@ERL@*" ejabberdctl.template \ | ||
> ejabberdctl.example | ||
[ -f $(ETCDIR)/ejabberdctl.cfg ] \ | ||
&& $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg-new \ | ||
|| $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg | ||
$(INSTALL) -b -m 644 $(G_USER) inetrc $(ETCDIR)/inetrc | ||
# | ||
# Administration script | ||
[ -d $(SBINDIR) ] || $(INSTALL) -d -m 755 $(SBINDIR) | ||
$(INSTALL) -m 550 $(G_USER) ejabberdctl.example $(SBINDIR)/ejabberdctl | ||
# | ||
# Init script | ||
$(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*" \ | ||
-e "s*@installuser@*$(INIT_USER)*" ejabberd.init.template \ | ||
> ejabberd.init | ||
chmod 755 ejabberd.init | ||
# | ||
# Binary Erlang files | ||
$(INSTALL) -d $(BEAMDIR) | ||
$(INSTALL) -m 644 ebin/*.app $(BEAMDIR) | ||
$(INSTALL) -m 644 ebin/*.beam $(BEAMDIR) | ||
$(INSTALL) -m 644 deps/*/ebin/*.app $(BEAMDIR) | ||
$(INSTALL) -m 644 deps/*/ebin/*.beam $(BEAMDIR) | ||
rm -f $(BEAMDIR)/configure.beam | ||
# | ||
# ejabberd header files | ||
$(INSTALL) -d $(INCLUDEDIR) | ||
$(INSTALL) -m 644 include/*.hrl $(INCLUDEDIR) | ||
$(INSTALL) -m 644 deps/*/include/*.hrl $(INCLUDEDIR) | ||
# | ||
# Binary C programs | ||
$(INSTALL) -d $(PBINDIR) | ||
$(INSTALL) -m 750 $(O_USER) tools/captcha.sh $(PBINDIR) | ||
# | ||
# Binary system libraries | ||
$(INSTALL) -d $(SODIR) | ||
#$(INSTALL) -m 644 priv/lib/*.so $(SODIR) | ||
$(INSTALL) -m 644 deps/*/priv/lib/*.so $(SODIR) | ||
# | ||
# Translated strings | ||
$(INSTALL) -d $(MSGSDIR) | ||
$(INSTALL) -m 644 priv/msgs/*.msg $(MSGSDIR) | ||
# | ||
# Spool directory | ||
$(INSTALL) -d -m 750 $(O_USER) $(SPOOLDIR) | ||
$(CHOWN_COMMAND) -R @INSTALLUSER@ $(SPOOLDIR) >$(CHOWN_OUTPUT) | ||
chmod -R 750 $(SPOOLDIR) | ||
[ ! -f $(COOKIEFILE) ] || { $(CHOWN_COMMAND) @INSTALLUSER@ $(COOKIEFILE) >$(CHOWN_OUTPUT) ; chmod 400 $(COOKIEFILE) ; } | ||
# | ||
# ejabberdctl lock directory | ||
$(INSTALL) -d -m 750 $(O_USER) $(CTLLOCKDIR) | ||
$(CHOWN_COMMAND) -R @INSTALLUSER@ $(CTLLOCKDIR) >$(CHOWN_OUTPUT) | ||
chmod -R 750 $(CTLLOCKDIR) | ||
# | ||
# Log directory | ||
$(INSTALL) -d -m 750 $(O_USER) $(LOGDIR) | ||
$(CHOWN_COMMAND) -R @INSTALLUSER@ $(LOGDIR) >$(CHOWN_OUTPUT) | ||
chmod -R 750 $(LOGDIR) | ||
# | ||
# Documentation | ||
$(INSTALL) -d $(DOCDIR) | ||
$(INSTALL) -m 644 doc/dev.html $(DOCDIR) | ||
$(INSTALL) -m 644 doc/guide.html $(DOCDIR) | ||
$(INSTALL) -m 644 doc/*.png $(DOCDIR) | ||
$(INSTALL) -m 644 doc/*.txt $(DOCDIR) | ||
[ -f doc/guide.pdf ] \ | ||
&& $(INSTALL) -m 644 doc/guide.pdf $(DOCDIR) \ | ||
|| echo "No doc/guide.pdf was built" | ||
$(INSTALL) -m 644 COPYING $(DOCDIR) | ||
|
||
uninstall: uninstall-binary | ||
|
||
uninstall-binary: | ||
rm -f $(SBINDIR)/ejabberdctl | ||
rm -fr $(DOCDIR) | ||
rm -f $(BEAMDIR)/*.beam | ||
rm -f $(BEAMDIR)/*.app | ||
rm -fr $(BEAMDIR) | ||
rm -f $(INCLUDEDIR)/*.hrl | ||
rm -fr $(INCLUDEDIR) | ||
rm -fr $(PBINDIR) | ||
rm -f $(SODIR)/*.so | ||
rm -fr $(SODIR) | ||
rm -f $(MSGSDIR)/*.msgs | ||
rm -fr $(MSGSDIR) | ||
rm -fr $(PRIVDIR) | ||
rm -fr $(EJABBERDDIR) | ||
|
||
uninstall-all: uninstall-binary | ||
rm -rf $(ETCDIR) | ||
rm -rf $(EJABBERDDIR) | ||
rm -rf $(SPOOLDIR) | ||
rm -rf $(CTLLOCKDIR) | ||
rm -rf $(LOGDIR) | ||
|
||
clean: | ||
rm -rf deps/.got | ||
rm -rf deps/.built | ||
$(REBAR) clean | ||
|
||
clean-rel: | ||
rm -rf rel/ejabberd | ||
|
||
distclean: clean clean-rel | ||
rm -f config.status | ||
rm -f config.log | ||
rm -rf autom4te.cache | ||
rm -rf deps | ||
rm -rf ebin | ||
rm -f Makefile | ||
rm -f vars.config | ||
rm -f src/ejabberd.app.src | ||
[ ! -f ../ChangeLog ] || rm -f ../ChangeLog | ||
|
||
rel: all | ||
$(REBAR) generate | ||
|
||
TAGS: | ||
etags *.erl | ||
|
||
Makefile: Makefile.in | ||
|
||
erlang.plt: | ||
-dialyzer --build_plt --output_plt erlang.plt \ | ||
--apps kernel stdlib sasl crypto public_key ssl mnesia \ | ||
inets odbc tools compiler erts webtool runtime_tools asn1 \ | ||
observer xmerl et gs wx syntax_tools deps/*/ebin | ||
|
||
plt: erlang.plt | ||
|
||
dialyzer: plt | ||
-dialyzer --plt erlang.plt --add_to_plt --output_plt ejabberd.plt \ | ||
--get_warnings -o dialyzer.log ebin | ||
|
||
test: | ||
$(REBAR) skip_deps=true ct | ||
|
||
.PHONY: src doc edoc dialyzer Makefile TAGS clean clean-rel distclean rel plt \ | ||
install uninstall uninstall-binary uninstall-all translations deps test spec |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# generate a new autoconf | ||
aclocal -I m4 | ||
autoconf |
Oops, something went wrong.