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)\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 ..\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 ..\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:$(DLL) $(OBJECT) $(OBJECT) : $(SOURCE) $(CC) $(CC_FLAGS) -c -Fo$(OBJECT) $(SOURCE)