mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-22 16:20:52 +01:00
4d8f770624
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
177 lines
4.5 KiB
Makefile
177 lines
4.5 KiB
Makefile
|
|
include Makefile.inc
|
|
|
|
ALL : build
|
|
|
|
REL=..\release
|
|
EREL=$(REL)\ejabberd-$(EJABBERD_VERSION)
|
|
EBIN_DIR=$(EREL)\ebin
|
|
SRC_DIR=$(EREL)\src
|
|
PRIV_DIR=$(EREL)\priv
|
|
SO_DIR=$(EREL)
|
|
MSGS_DIR=$(EREL)\msgs
|
|
WIN32_DIR=$(EREL)\win32
|
|
DOC_DIR=$(EREL)\doc
|
|
|
|
NSIS_SCRIPT=win32\ejabberd.nsi
|
|
NSIS_HEADER=win32\ejabberd.nsh
|
|
|
|
installer : $(NSIS_SCRIPT) $(NSIS_HEADER)
|
|
makensis $(NSIS_SCRIPT)
|
|
|
|
$(NSIS_HEADER) : Makefile.inc
|
|
echo !define OUTFILEDIR "..\$(REL)" >$(NSIS_HEADER)
|
|
echo !define TESTDIR "..\$(REL)\ejabberd-$(EJABBERD_VERSION)" >>$(NSIS_HEADER)
|
|
echo !define VERSION "$(EJABBERD_VERSION)" >>$(NSIS_HEADER)
|
|
|
|
release_clean :
|
|
if exist $(REL) rd /s /q $(REL)
|
|
|
|
|
|
release : build release_clean
|
|
mkdir $(REL)
|
|
mkdir $(EREL)
|
|
mkdir $(EBIN_DIR)
|
|
copy *.beam $(EBIN_DIR)
|
|
@erase $(EBIN_DIR)\configure.beam
|
|
copy *.app $(EBIN_DIR)
|
|
copy *.dll $(SO_DIR)
|
|
mkdir $(MSGS_DIR)
|
|
copy msgs\*.msg $(MSGS_DIR)
|
|
mkdir $(WIN32_DIR)
|
|
copy win32\ejabberd.cfg $(EREL)
|
|
copy win32\inetrc $(EREL)
|
|
copy $(SYSTEMROOT)\system32\libeay32.dll $(EREL)
|
|
copy $(SYSTEMROOT)\system32\ssleay32.dll $(EREL)
|
|
copy win32\ejabberd.ico $(WIN32_DIR)
|
|
mkdir $(SRC_DIR)
|
|
copy *.app $(SRC_DIR)
|
|
copy *.erl $(SRC_DIR)
|
|
copy *.hrl $(SRC_DIR)
|
|
copy *.c $(SRC_DIR)
|
|
mkdir $(SRC_DIR)\eldap
|
|
copy eldap\eldap.* $(SRC_DIR)\eldap
|
|
copy eldap\ELDAPv3.asn $(SRC_DIR)\eldap
|
|
mkdir $(SRC_DIR)\mod_irc
|
|
copy mod_irc\*.erl $(SRC_DIR)\mod_irc
|
|
copy mod_irc\*.c $(SRC_DIR)\mod_irc
|
|
mkdir $(SRC_DIR)\mod_muc
|
|
copy mod_muc\*.erl $(SRC_DIR)\mod_muc
|
|
mkdir $(SRC_DIR)\mod_pubsub
|
|
copy mod_pubsub\*.erl $(SRC_DIR)\mod_pubsub
|
|
mkdir $(SRC_DIR)\mod_proxy65
|
|
copy mod_proxy65\*.erl $(SRC_DIR)\mod_proxy65
|
|
copy mod_proxy65\*.hrl $(SRC_DIR)\mod_proxy65
|
|
mkdir $(SRC_DIR)\stringprep
|
|
copy stringprep\*.erl $(SRC_DIR)\stringprep
|
|
copy stringprep\*.c $(SRC_DIR)\stringprep
|
|
copy stringprep\*.tcl $(SRC_DIR)\stringprep
|
|
mkdir $(SRC_DIR)\stun
|
|
copy stun\*.erl $(SRC_DIR)\stun
|
|
copy stun\*.hrl $(SRC_DIR)\stun
|
|
mkdir $(SRC_DIR)\tls
|
|
copy tls\*.erl $(SRC_DIR)\tls
|
|
copy tls\*.c $(SRC_DIR)\tls
|
|
mkdir $(SRC_DIR)\ejabberd_zlib
|
|
copy ejabberd_zlib\*.erl $(SRC_DIR)\ejabberd_zlib
|
|
copy ejabberd_zlib\*.c $(SRC_DIR)\ejabberd_zlib
|
|
mkdir $(SRC_DIR)\web
|
|
copy web\*.erl $(SRC_DIR)\web
|
|
mkdir $(SRC_DIR)\odbc
|
|
copy odbc\*.erl $(SRC_DIR)\odbc
|
|
copy odbc\*.sql $(EREL)
|
|
mkdir $(DOC_DIR)
|
|
copy ..\doc\*.txt $(DOC_DIR)
|
|
copy ..\doc\*.html $(DOC_DIR)
|
|
copy ..\doc\*.png $(DOC_DIR)
|
|
|
|
SOURCE = expat_erl.c
|
|
OBJECT = expat_erl.o
|
|
DLL = expat_erl.dll
|
|
|
|
build : $(DLL) compile-beam all-recursive
|
|
|
|
all-recursive :
|
|
cd eldap
|
|
nmake -nologo -f Makefile.win32
|
|
cd ..\mod_irc
|
|
nmake -nologo -f Makefile.win32
|
|
cd ..\mod_muc
|
|
nmake -nologo -f Makefile.win32
|
|
cd ..\mod_pubsub
|
|
nmake -nologo -f Makefile.win32
|
|
cd ..\mod_proxy65
|
|
nmake -nologo -f Makefile.win32
|
|
cd ..\stringprep
|
|
nmake -nologo -f Makefile.win32
|
|
cd ..\stun
|
|
nmake -nologo -f Makefile.win32
|
|
cd ..\tls
|
|
nmake -nologo -f Makefile.win32
|
|
cd ..\ejabberd_zlib
|
|
nmake -nologo -f Makefile.win32
|
|
cd ..\web
|
|
nmake -nologo -f Makefile.win32
|
|
cd ..\odbc
|
|
nmake -nologo -f Makefile.win32
|
|
cd ..
|
|
|
|
compile-beam : XmppAddr.hrl
|
|
erl -s make all report -noinput -s erlang halt
|
|
|
|
XmppAddr.hrl : XmppAddr.asn1
|
|
erlc -bber_bin +der +compact_bit_string +optimize +noobj XmppAddr.asn1
|
|
|
|
CLEAN : clean-recursive clean-local
|
|
|
|
clean-local :
|
|
-@erase $(OBJECT)
|
|
-@erase $(DLL)
|
|
-@erase expat_erl.exp
|
|
-@erase expat_erl.lib
|
|
-@erase *.beam
|
|
-@erase XmppAddr.asn1db
|
|
-@erase XmppAddr.erl
|
|
-@erase XmppAddr.hrl
|
|
|
|
clean-recursive :
|
|
cd eldap
|
|
nmake -nologo -f Makefile.win32 clean
|
|
cd ..\mod_irc
|
|
nmake -nologo -f Makefile.win32 clean
|
|
cd ..\mod_muc
|
|
nmake -nologo -f Makefile.win32 clean
|
|
cd ..\mod_pubsub
|
|
nmake -nologo -f Makefile.win32 clean
|
|
cd ..\mod_proxy65
|
|
nmake -nologo -f Makefile.win32 clean
|
|
cd ..\stringprep
|
|
nmake -nologo -f Makefile.win32 clean
|
|
cd ..\stun
|
|
nmake -nologo -f Makefile.win32 clean
|
|
cd ..\tls
|
|
nmake -nologo -f Makefile.win32 clean
|
|
cd ..\ejabberd_zlib
|
|
nmake -nologo -f Makefile.win32 clean
|
|
cd ..\web
|
|
nmake -nologo -f Makefile.win32 clean
|
|
cd ..\odbc
|
|
nmake -nologo -f Makefile.win32 clean
|
|
cd ..
|
|
|
|
distclean : release_clean clean
|
|
-@erase $(NSIS_HEADER)
|
|
-@erase Makefile.inc
|
|
|
|
CC=cl.exe
|
|
CC_FLAGS=-nologo -D__WIN32__ -DWIN32 -DWINDOWS -D_WIN32 -DNT $(EXPAT_FLAG) -MD -Ox -I"$(ERLANG_DIR)\usr\include" -I"$(EI_DIR)\include" -I"$(EXPAT_DIR)\source\lib"
|
|
|
|
LD=link.exe
|
|
LD_FLAGS=-release -nologo -incremental:no -dll "$(EI_DIR)\lib\ei_md.lib" "$(EI_DIR)\lib\erl_interface_md.lib" "$(EXPAT_LIB)" MSVCRT.LIB kernel32.lib advapi32.lib gdi32.lib user32.lib comctl32.lib comdlg32.lib shell32.lib
|
|
|
|
$(DLL) : $(OBJECT)
|
|
$(LD) $(LD_FLAGS) -out:$@ $<
|
|
|
|
$(OBJECT) : $(SOURCE)
|
|
$(CC) $(CC_FLAGS) -c -Fo$@ $<
|