include Makefile.inc ALL : build REL=..\release EREL=$(REL)\ejabberd-$(EJABBERD_VERSION) EBIN_DIR=$(EREL)\ebin MSGS_DIR=$(EREL)\msgs SRC_DIR=$(EREL)\src PRIV_DIR=$(EREL)\priv SO_DIR=$(PRIV_DIR)\lib 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) copy *.app $(EBIN_DIR) mkdir $(PRIV_DIR) mkdir $(SO_DIR) copy *.dll $(SO_DIR) mkdir $(MSGS_DIR) copy msgs\*.msg $(MSGS_DIR) mkdir $(WIN32_DIR) copy win32\ejabberd.cfg $(EREL) copy win32\ejabberd.ico $(WIN32_DIR) mkdir $(WIN32_DIR)\5.3 copy win32\5.3\*.beam $(WIN32_DIR)\5.3 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)\stringprep copy stringprep\*.erl $(SRC_DIR)\stringprep copy stringprep\*.c $(SRC_DIR)\stringprep copy stringprep\*.tcl $(SRC_DIR)\stringprep mkdir $(SRC_DIR)\web copy web\*.erl $(SRC_DIR)\web mkdir $(SRC_DIR)\win32 mkdir $(SRC_DIR)\win32\5.3 copy win32\5.3\*.erl $(SRC_DIR)\win32\5.3 mkdir $(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 ..\stringprep nmake -nologo -f Makefile.win32 cd ..\web nmake -nologo -f Makefile.win32 cd ..\win32\5.3 nmake -nologo -f Makefile.win32 cd ..\.. compile-beam : erl -s make all report -noinput -s erlang halt CLEAN : clean-recursive clean-local clean-local : -@erase $(OBJECT) -@erase $(DLL) -@erase expat_erl.exp -@erase expat_erl.lib -@erase *.beam 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 ..\stringprep nmake -nologo -f Makefile.win32 clean cd ..\web nmake -nologo -f Makefile.win32 clean cd ..\win32\5.3 nmake -nologo -f Makefile.win32 clean cd ..\.. distclean : release_clean clean -@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)