(Fbase64_encode_string): Fix last change.
[bpt/emacs.git] / lib-src / makefile.nt
index 4fbcb60..e3c1a2e 100644 (file)
@@ -15,8 +15,9 @@
 #  GNU General Public License for more details.
 #  
 #  You should have received a copy of the GNU General Public License
-#  along with GNU Emacs; see the file COPYING.  If not, write to
-#  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+#  along with GNU Emacs; see the file COPYING.  If not, write to the
+#  Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+#  Boston, MA 02111-1307, USA.
 #
 
 # 
 #
 !include ..\nt\makefile.def
 
-LOCAL_FLAGS    = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 -DNO_ARCHIVES=1 -I..\nt\inc -I..\src
-OBJDIR         = obj
-BLD            = $(OBJDIR)\$(ARCH)
+LOCAL_FLAGS    = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \
+       -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I..\nt\inc -I..\src
 
 LINK_FLAGS     = $(ARCH_LDFLAGS) -debug:PARTIAL -machine:$(ARCH) -subsystem:console -entry:mainCRTStartup setargv.obj
 
 ALL            = $(BLD)\make-docfile.exe \
                $(BLD)\hexl.exe         \
-               $(BLD)\wakeup.exe       \
                $(BLD)\ctags.exe        \
                $(BLD)\etags.exe        \
                $(BLD)\movemail.exe     \
@@ -57,20 +56,26 @@ LIBS              = $(BASE_LIBS)
 $(BLD)\make-docfile.exe:       $(BLD)\make-docfile.obj $(BLD)\ntlib.obj
                $(LINK) -out:$@ $(LINK_FLAGS) $(BLD)\make-docfile.obj $(BLD)\ntlib.obj $(LIBS)
 $(BLD)\hexl.exe:               $(BLD)\hexl.obj
-$(BLD)\wakeup.exe:             $(BLD)\wakeup.obj $(BLD)\ntlib.obj
-               $(LINK) -out:$@ $(LINK_FLAGS) $(BLD)\wakeup.obj $(BLD)\ntlib.obj $(LIBS)
-$(BLD)\movemail.exe:           $(BLD)\movemail.obj $(BLD)\pop.obj $(BLD)\ntlib.obj
-               $(LINK) -out:$@ $(LINK_FLAGS) -debug:FULL $(BLD)\movemail.obj $(BLD)\pop.obj $(BLD)\ntlib.obj $(LIBS) wsock32.lib
 $(BLD)\fakemail.exe:           $(BLD)\fakemail.obj $(BLD)\ntlib.obj
                $(LINK) -out:$@ $(LINK_FLAGS) -debug:full $(BLD)\fakemail.obj $(BLD)\ntlib.obj $(LIBS)
 
 make-docfile:  $(BLD) $(BLD)\make-docfile.exe
-wakeup:                $(BLD) $(BLD)\wakeup.exe
 etags:         $(BLD) $(BLD)\etags.exe
 hexl:          $(BLD) $(BLD)\hexl.exe
 movemail:      $(BLD) $(BLD)\movemail.exe
 fakemail:      $(BLD) $(BLD)\fakemail.exe
 
+GETOPTOBJS = $(BLD)\getopt.obj $(BLD)\getopt1.obj
+GETOPTDEPS = $(GETOPTOBJS) getopt.h
+MOVEMAILOBJS =  $(BLD)\movemail.obj \
+               $(BLD)\pop.obj \
+               $(BLD)\ntlib.obj \
+               $(GETOPTOBJS)
+
+$(BLD)\movemail.exe:   $(MOVEMAILOBJS) getopt.h
+# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
+               $(LINK) -out:$@ $(LINK_FLAGS) -debug:FULL $(MOVEMAILOBJS) wsock32.lib $(LIBS)
+
 ETAGSOBJ      = $(BLD)\etags.obj \
                $(BLD)\getopt.obj \
                $(BLD)\getopt1.obj \
@@ -87,7 +92,7 @@ $(BLD)\regex.obj: ../src/regex.c ../src/regex.h ../src/config.h
                $(CC)  $(CFLAGS) -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER \
                ../src/regex.c -Fo$@
 
-ETAGS_CFLAGS  = -DETAGS_REGEXPS
+ETAGS_CFLAGS  = -DETAGS_REGEXPS -DHAVE_GETCWD
 $(BLD)\etags.obj: etags.c
                $(CC) $(CFLAGS) $(ETAGS_CFLAGS) -Fo$@ etags.c
 
@@ -125,48 +130,79 @@ $(BLD)\ctags.obj: ctags.c
 #
 # From ..\src\makefile.nt.
 #
-obj = abbrev.c alloc.c alloca.c buffer.c bytecode.c callint.c callproc.c casefiddle.c cm.c cmds.c data.c dired.c dispnew.c doc.c  doprnt.c editfns.c eval.c fileio.c filelock.c filemode.c fns.c  indent.c insdel.c keyboard.c keymap.c lastfile.c lread.c macros.c marker.c minibuf.c xfaces.c mocklisp.c nt.c ntheap.c ntinevt.c ntproc.c ntterm.c print.c process.c regex.c scroll.c search.c syntax.c sysdep.c term.c termcap.c tparam.c undo.c unexnt.c window.c xdisp.c casetab.c floatfns.c frame.c gmalloc.c intervals.c ralloc.c textprop.c vm-limit.c region-cache.c strftime.c w32term.c w32xfns.c w32fns.c w32faces.c w32select.c w32menu.c w32reg.c
-
-lispdir = ..\lisp
+obj = abbrev.c alloc.c alloca.c buffer.c bytecode.c callint.c callproc.c casefiddle.c cm.c cmds.c charset.c coding.c category.c ccl.c data.c dired.c dispnew.c doc.c  doprnt.c editfns.c emacs.c eval.c fileio.c filelock.c filemode.c fns.c fontset.c indent.c insdel.c keyboard.c keymap.c lastfile.c lread.c macros.c marker.c minibuf.c xfaces.c mocklisp.c print.c process.c regex.c scroll.c search.c syntax.c sysdep.c term.c termcap.c tparam.c undo.c unexw32.c window.c xdisp.c casetab.c floatfns.c frame.c gmalloc.c intervals.c ralloc.c textprop.c vm-limit.c region-cache.c strftime.c w32.c w32console.c w32faces.c w32fns.c w32heap.c w32inevt.c w32proc.c w32reg.c w32menu.c w32select.c w32term.c w32xfns.c 
 
 #
 # These are the lisp files that are loaded up in loadup.el
 #
+lispsource = ../lisp/
+
+FACE_SUPPORT = $(lispsource)facemenu.elc
+MOUSE_SUPPORT = $(lispsource)select.elc $(lispsource)scroll-bar.elc
+FLOAT_SUPPORT = $(lispsource)float-sup.elc
+WINNT_SUPPORT = $(lispsource)ls-lisp.elc $(lispsource)w32-fns.elc $(lispsource)dos-w32.elc
+
 lisp= \
-       $(lispdir)\subr.elc \
-       $(lispdir)\byte-run.elc \
-       $(lispdir)\map-ynp.elc \
-       $(lispdir)\loaddefs.el \
-       $(lispdir)\simple.elc \
-       $(lispdir)\help.elc \
-       $(lispdir)\files.elc \
-       $(lispdir)\format.elc \
-       $(lispdir)\indent.elc \
-       $(lispdir)\window.elc \
-       $(lispdir)\frame.elc \
-       $(lispdir)\mouse.elc \
-       $(lispdir)\menu-bar.elc \
-       $(lispdir)\scroll-bar.elc \
-       $(lispdir)\select.elc \
-       $(lispdir)\paths.el \
-       $(lispdir)\startup.elc \
-       $(lispdir)\lisp.elc \
-       $(lispdir)\page.elc \
-       $(lispdir)\register.elc \
-       $(lispdir)\paragraphs.elc \
-       $(lispdir)\lisp-mode.elc \
-       $(lispdir)\text-mode.elc \
-       $(lispdir)\fill.elc \
-       $(lispdir)\c-mode.elc \
-       $(lispdir)\isearch.elc \
-       $(lispdir)\replace.elc \
-       $(lispdir)\abbrev.elc \
-       $(lispdir)\buff-menu.elc \
-       $(lispdir)\ls-lisp.elc \
-       $(lispdir)\winnt.elc \
-       $(lispdir)\float-sup.elc \
-       $(lispdir)\vc-hooks.elc \
-       $(lispdir)\version.el
+       $(lispsource)abbrev.elc \
+       $(lispsource)buff-menu.elc \
+       $(lispsource)byte-run.elc \
+       $(lispsource)cus-start.el \
+       $(lispsource)custom.elc \
+       $(lispsource)faces.elc \
+       $(lispsource)files.elc \
+       $(lispsource)textmodes/fill.elc \
+       $(lispsource)format.elc \
+       $(FACE_SUPPORT) \
+       $(MOUSE_SUPPORT) \
+       $(FLOAT_SUPPORT) \
+       $(lispsource)frame.elc\
+       $(X_WINDOWS_SUPPORT) \
+       $(lispsource)help.elc \
+       $(lispsource)indent.elc \
+       $(lispsource)isearch.elc \
+       $(lispsource)emacs-lisp/lisp-mode.elc \
+       $(lispsource)emacs-lisp/lisp.elc \
+       $(lispsource)loadup.el \
+       $(lispsource)loaddefs.el \
+       $(lispsource)map-ynp.elc \
+       $(lispsource)menu-bar.elc \
+       $(lispsource)international/mule.elc \
+       $(lispsource)international/mule-conf.el \
+       $(lispsource)international/mule-cmds.elc \
+       $(lispsource)international/characters.elc \
+       $(lispsource)language/chinese.elc \
+       $(lispsource)language/cyrillic.elc \
+       $(lispsource)language/devanagari.elc \
+       $(lispsource)language/english.elc \
+       $(lispsource)language/ethiopic.elc \
+       $(lispsource)language/european.elc \
+       $(lispsource)language/greek.elc \
+       $(lispsource)language/hebrew.elc \
+       $(lispsource)language/indian.elc \
+       $(lispsource)language/japanese.elc \
+       $(lispsource)language/korean.elc \
+       $(lispsource)language/lao.elc \
+       $(lispsource)language/thai.elc \
+       $(lispsource)language/tibetan.elc \
+       $(lispsource)language/vietnamese.elc \
+       $(lispsource)language/misc-lang.elc \
+       $(lispsource)textmodes/page.elc \
+       $(lispsource)textmodes/paragraphs.elc \
+       $(lispsource)paths.el \
+       $(lispsource)register.elc \
+       $(lispsource)replace.elc \
+       $(lispsource)simple.elc \
+       $(lispsource)startup.elc \
+       $(lispsource)subr.elc \
+       $(lispsource)textmodes/text-mode.elc \
+       $(lispsource)vc-hooks.elc \
+       $(lispsource)ediff-hook.elc \
+       $(VMS_SUPPORT) \
+       $(MSDOS_SUPPORT) \
+       $(WINNT_SUPPORT) \
+       $(lispsource)window.elc \
+       $(lispsource)version.el
+
 
 DOC          = DOC 
 $(DOC):                $(BLD)\make-docfile.exe
@@ -181,8 +217,13 @@ $(DOC):            $(BLD)\make-docfile.exe
 {$(BLD)}.obj{$(BLD)}.exe:
                $(LINK) -out:$@ $(LINK_FLAGS) $*.obj $(LIBS)
 
+!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
 .c{$(BLD)}.obj:
-               $(CC) $(CFLAGS) -Fo$@ $<
+               $(CC) $(CFLAGS) -Fo$(OBJDIR)\i386\ $<
+!ELSE
+.c{$(BLD)}.obj::
+               $(CC) $(CFLAGS) -Fo$(OBJDIR)\i386\ $<
+!ENDIF
 
 #
 # Build the executables
@@ -198,7 +239,6 @@ install:    $(INSTALL_FILES)
                $(CP) $(BLD)\etags.exe $(INSTALL_DIR)\bin
                $(CP) $(BLD)\ctags.exe $(INSTALL_DIR)\bin
                $(CP) $(BLD)\hexl.exe $(INSTALL_DIR)\bin
-               $(CP) $(BLD)\wakeup.exe $(INSTALL_DIR)\bin
                $(CP) $(BLD)\movemail.exe $(INSTALL_DIR)\bin
                $(CP) $(BLD)\fakemail.exe $(INSTALL_DIR)\bin
                - mkdir $(INSTALL_DIR)\etc
@@ -208,8 +248,10 @@ install:   $(INSTALL_FILES)
 # Maintenance
 # 
 clean:;                - $(DEL) *~ *.pdb DOC*
+               - $(DEL) *.orig *.rej *.crlf ctags.c
                - $(DEL_TREE) deleted
                - $(DEL_TREE) obj
+               - $(DEL_TREE) obj-spd
 
 #
 # Headers we would preprocess if we could.
@@ -226,17 +268,26 @@ SRC               = .
 
 $(BLD)\alloca.obj : \
        $(SRC)\alloca.c \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
        $(EMACS_ROOT)\src\m\intel386.h \
        $(EMACS_ROOT)\src\config.h \
        $(EMACS_ROOT)\src\blockinput.h
 
 $(BLD)\b2m.obj : \
        $(SRC)\b2m.c \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
        $(EMACS_ROOT)\src\m\intel386.h \
        $(EMACS_ROOT)\lib-src\..\src\config.h
 
+$(BLD)\ctags.obj : \
+       $(SRC)\ctags.c \
+       $(EMACS_ROOT)\nt\inc\sys\param.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
+       $(EMACS_ROOT)\src\m\intel386.h \
+       $(EMACS_ROOT)\lib-src\..\src\config.h \
+       $(SRC)\ntlib.h \
+       $(SRC)\getopt.h
+
 $(BLD)\cvtmail.obj : \
        $(SRC)\cvtmail.c
 
@@ -245,13 +296,13 @@ $(BLD)\digest-doc.obj : \
 
 $(BLD)\emacsclient.obj : \
        $(SRC)\emacsclient.c \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
        $(EMACS_ROOT)\src\m\intel386.h \
        $(EMACS_ROOT)\lib-src\..\src\config.h
 
 $(BLD)\emacsserver.obj : \
        $(SRC)\emacsserver.c \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
        $(EMACS_ROOT)\src\m\intel386.h \
        $(EMACS_ROOT)\lib-src\..\src\config.h \
        $(EMACS_ROOT)\nt\inc\sys\file.h
@@ -263,36 +314,38 @@ $(BLD)\emacstool.obj : \
 $(BLD)\etags.obj : \
        $(SRC)\etags.c \
        $(EMACS_ROOT)\nt\inc\sys\param.h \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
        $(EMACS_ROOT)\src\m\intel386.h \
        $(EMACS_ROOT)\lib-src\..\src\config.h \
+       $(SRC)\ntlib.h \
        $(SRC)\getopt.h
 
 $(BLD)\fakemail.obj : \
        $(SRC)\fakemail.c \
        $(SRC)\ntlib.h \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
        $(EMACS_ROOT)\src\m\intel386.h \
        $(EMACS_ROOT)\lib-src\..\src\config.h \
        $(EMACS_ROOT)\nt\inc\pwd.h
 
 $(BLD)\getdate.obj : \
        $(SRC)\getdate.c \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
        $(EMACS_ROOT)\src\m\intel386.h \
        $(EMACS_ROOT)\src\config.h \
        $(MSTOOLS_SYS)\types.h
 
 $(BLD)\getopt.obj : \
        $(SRC)\getopt.c \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
        $(EMACS_ROOT)\src\m\intel386.h \
        $(EMACS_ROOT)\src\config.h \
+       $(SRC)\ntlib.h \
        $(SRC)\getopt.h
 
 $(BLD)\getopt1.obj : \
        $(SRC)\getopt1.c \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
        $(EMACS_ROOT)\src\m\intel386.h \
        $(EMACS_ROOT)\src\config.h \
        $(SRC)\getopt.h
@@ -312,13 +365,14 @@ $(BLD)\make-path.obj : \
 
 $(BLD)\movemail.obj : \
        $(SRC)\movemail.c \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
        $(EMACS_ROOT)\src\m\intel386.h \
        $(EMACS_ROOT)\lib-src\..\src\config.h \
        $(EMACS_ROOT)\nt\inc\sys\file.h \
        $(EMACS_ROOT)\src\vmsproc.h \
        $(EMACS_ROOT)\lib-src\..\src\syswait.h \
-       $(EMACS_ROOT)\nt\inc\pwd.h
+       $(EMACS_ROOT)\nt\inc\pwd.h \
+       $(SRC)\ntlib.h
                $(CC) $(CFLAGS) -DUSG -Fo$@ movemail.c
 
 $(BLD)\ntlib.obj : \
@@ -333,7 +387,7 @@ $(BLD)\pop.obj : \
 
 $(BLD)\profile.obj : \
        $(SRC)\profile.c \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
        $(EMACS_ROOT)\src\m\intel386.h \
        $(EMACS_ROOT)\lib-src\..\src\config.h \
        $(EMACS_ROOT)\src\vmstime.h \
@@ -353,16 +407,10 @@ $(BLD)\test-distrib.obj : \
 
 $(BLD)\timer.obj : \
        $(SRC)\timer.c \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
+       $(EMACS_ROOT)\src\s\ms-w32.h \
        $(EMACS_ROOT)\src\m\intel386.h \
        $(EMACS_ROOT)\lib-src\..\src\config.h
 
-$(BLD)\wakeup.obj : \
-       $(SRC)\wakeup.c \
-       $(EMACS_ROOT)\src\s\windowsnt.h \
-       $(EMACS_ROOT)\src\m\intel386.h \
-       $(EMACS_ROOT)\src\config.h
-
 $(BLD)\yow.obj : \
        $(SRC)\yow.c \
        $(EMACS_ROOT)\lib-src\..\src\paths.h