diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2013-04-08 11:12:54 +0200 |
---|---|---|
committer | Christophe Romain <christophe.romain@process-one.net> | 2013-06-13 11:11:02 +0200 |
commit | 4d8f7706240a1603468968f47fc7b150b788d62f (patch) | |
tree | 92d55d789cc7ac979b3c9e161ffb7f908eba043a /Makefile.win32 | |
parent | Fix Guide: ejabberd_service expects a shaper_rule, not a shaper (diff) |
Switch to rebar build tool
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
Diffstat (limited to 'Makefile.win32')
-rw-r--r-- | Makefile.win32 | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/Makefile.win32 b/Makefile.win32 new file mode 100644 index 00000000..8a1192fc --- /dev/null +++ b/Makefile.win32 @@ -0,0 +1,176 @@ + +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$@ $< |