Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.win32')
-rw-r--r--Makefile.win32176
1 files changed, 176 insertions, 0 deletions
diff --git a/Makefile.win32 b/Makefile.win32
new file mode 100644
index 000000000..8a1192fce
--- /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$@ $<