diff options
Diffstat (limited to 'Makefile.in')
-rw-r--r-- | Makefile.in | 257 |
1 files changed, 257 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 000000000..d69580220 --- /dev/null +++ b/Makefile.in @@ -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 |