summaryrefslogtreecommitdiff
path: root/src/Makefile.win32
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile.win32')
-rw-r--r--src/Makefile.win3291
1 files changed, 69 insertions, 22 deletions
diff --git a/src/Makefile.win32 b/src/Makefile.win32
index dff7f215..567d202f 100644
--- a/src/Makefile.win32
+++ b/src/Makefile.win32
@@ -1,9 +1,64 @@
include Makefile.inc
-EXPAT_DIR="c:\progra~1\expat-1.95.6"
+EXPAT_DIR="c:\progra~1\expat-1.95.7"
-ALL : expat_erl.dll compile-beam all-recursive
+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
+DOC_DIR=$(EREL)\doc
+
+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 $(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 $(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
@@ -26,12 +81,10 @@ compile-beam :
CLEAN : clean-recursive clean-local
clean-local :
- -@erase expat_erl.obj
- -@erase vc60.idb
- -@erase expat_erl.dll
+ -@erase $(OBJECT)
+ -@erase $(DLL)
-@erase expat_erl.exp
-@erase expat_erl.lib
- -@erase expat_erl.pch
-@erase *.beam
clean-recursive :
@@ -49,24 +102,18 @@ clean-recursive :
nmake -nologo -f Makefile.win32 clean
cd ..
-CPP=cl.exe
-CPP_PROJ=/nologo /ML /W3 /GX /O2 /I "$(ERLANG_DIR)\usr\include" /I "$(EI_DIR)\include" /I "$(EXPAT_DIR)\source\lib" /D "__WIN32__" /D "WIN32" /D "NDEBUG" /D "_USRDLL" /D "_MBCS" /Fpexpat_erl.pch /YX /FD /c
-
-.c.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
+distclean : release_clean clean
+ -@erase Makefile.inc
-LINK32=link.exe
-LINK32_FLAGS=kernel32.lib "$(EI_DIR)\lib\ei.lib" "$(EI_DIR)\lib\erl_interface.lib" "$(EXPAT_DIR)\libs\libexpat.lib" /nologo /subsystem:console /dll /pdb:none /machine:I386 /out:expat_erl.dll /nodefaultlib:libcmt
-LINK32_OBJS=expat_erl.obj
+CC=cl.exe
+CC_FLAGS=-nologo -D__WIN32__ -DWIN32 -DWINDOWS -D_WIN32 -DNT -MD -Ox -I"$(ERLANG_DIR)\usr\include" -I"$(EI_DIR)\include" -I"$(EXPAT_DIR)\source\lib"
-expat_erl.dll : $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
+LD=link.exe
+LD_FLAGS=-release -nologo -incremental:no -dll "$(EI_DIR)\lib\ei_md.lib" "$(EI_DIR)\lib\erl_interface_md.lib" "$(EXPAT_DIR)\libs\libexpat.lib" MSVCRT.LIB kernel32.lib advapi32.lib gdi32.lib user32.lib comctl32.lib comdlg32.lib shell32.lib
-SOURCE=expat_erl.c
+$(DLL) : $(OBJECT)
+ $(LD) $(LD_FLAGS) -out:$(DLL) $(OBJECT)
-expat_erl.obj : $(SOURCE)
+$(OBJECT) : $(SOURCE)
+ $(CC) $(CC_FLAGS) -c -Fo$(OBJECT) $(SOURCE)