# Makefile for GNU Emacs on the Microsoft W32 API. # Copyright (c) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. # Tim Fleehart (apollo@online.com) 17-Apr-92 # Geoff Voelker (voelker@cs.washington.edu) 11-20-93 # # This file is part of GNU Emacs. # # GNU Emacs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # GNU Emacs is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # 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, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # # # Sets up the system dependent macros. # !include ..\nt\makefile.def SUBSYSTEM=console # # HAVE_CONFIG_H is required by some generic gnu sources stuck into # the emacs source tree. # LOCAL_FLAGS = -Demacs=1 -DWINDOWSNT -DDOS_NT -DHAVE_CONFIG_H -I..\nt\inc !ifdef NTGUI LOCAL_FLAGS = $(LOCAL_FLAGS) -DHAVE_NTGUI=1 !endif !ifdef USE_CRT_DLL LOCAL_FLAGS = $(LOCAL_FLAGS) -DUSE_CRT_DLL=1 -MD libc = msvcrt.lib LINK_FLAGS = -nodefaultlib !endif # From MSVC 5.0 onwards, it seem base relocation information is not included, # at least in release builds. We need to ensure the reloc info is included # in order to use the MSVC profiler. !IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)") EXTRA_LINK = !ELSE EXTRA_LINK = -profile !ENDIF EMACS = $(BLD)\emacs.exe TEMACS = $(BLD)\temacs.exe TEMACS_TMP = $(BLD)\temacs.bin TLIB0 = $(BLD)\temacs0.lib TLIB1 = $(BLD)\temacs1.lib TLIB2 = $(BLD)\temacs2.lib !IFDEF NTGUI TLIBW32 = $(BLD)\temacw32.lib !ELSE TLIBW32 = !ENDIF TOBJ = $(BLD)\firstfile.obj !if $(MSVCNT11) TRES = $(BLD)\emacs.res !else TRES = $(BLD)\emacs.rbj !endif TLASTLIB = $(BLD)\lastfile.lib # see comments in allocate_heap in w32heap.c before changing any of the # -stack, -heap, or -base settings. !if "$(BUILD_TYPE)" == "spd" LINK_FLAGS = $(LINK_FLAGS) $(ARCH_LDFLAGS) -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -debug:full -debugtype:both -pdb:$(BLD)\temacs.pdb -machine:$(ARCH) -subsystem:$(SUBSYSTEM) -entry:_start -map:$(BLD)\temacs.map -swaprun:net -swaprun:cd !else LINK_FLAGS = $(LINK_FLAGS) $(ARCH_LDFLAGS) -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -debug:full -debugtype:both -pdb:none -machine:$(ARCH) -subsystem:$(SUBSYSTEM) -entry:_start -map:$(BLD)\temacs.map -swaprun:net -swaprun:cd $(EXTRA_LINK) !endif # # Split up the objects into two sets so that we don't run out of # command line space when we link them into a library. # # Put emacs.obj in a separate lib, since we need to have firstfile.obj # as the "main" object file when linking. # OBJ0 = $(BLD)\emacs.obj OBJ1 = $(BLD)\abbrev.obj \ $(BLD)\alloc.obj \ $(BLD)\alloca.obj \ $(BLD)\atimer.obj \ $(BLD)\buffer.obj \ $(BLD)\bytecode.obj \ $(BLD)\callint.obj \ $(BLD)\callproc.obj \ $(BLD)\casefiddle.obj \ $(BLD)\cm.obj \ $(BLD)\cmds.obj \ $(BLD)\data.obj \ $(BLD)\dired.obj \ $(BLD)\dispnew.obj \ $(BLD)\doc.obj \ $(BLD)\doprnt.obj \ $(BLD)\editfns.obj \ $(BLD)\eval.obj \ $(BLD)\fileio.obj \ $(BLD)\filelock.obj \ $(BLD)\filemode.obj \ $(BLD)\fns.obj \ $(BLD)\indent.obj \ $(BLD)\insdel.obj \ $(BLD)\keyboard.obj \ $(BLD)\keymap.obj \ $(BLD)\lread.obj \ $(BLD)\macros.obj \ $(BLD)\marker.obj \ $(BLD)\md5.obj \ $(BLD)\minibuf.obj \ $(BLD)\mocklisp.obj OBJ2 = $(BLD)\w32.obj \ $(BLD)\w32heap.obj \ $(BLD)\w32inevt.obj \ $(BLD)\w32proc.obj \ $(BLD)\w32console.obj \ $(BLD)\print.obj \ $(BLD)\process.obj \ $(BLD)\regex.obj \ $(BLD)\scroll.obj \ $(BLD)\search.obj \ $(BLD)\syntax.obj \ $(BLD)\sysdep.obj \ $(BLD)\term.obj \ $(BLD)\termcap.obj \ $(BLD)\tparam.obj \ $(BLD)\undo.obj \ $(BLD)\unexw32.obj \ $(BLD)\window.obj \ $(BLD)\xdisp.obj \ $(BLD)\casetab.obj \ $(BLD)\floatfns.obj \ $(BLD)\frame.obj \ $(BLD)\gmalloc.obj \ $(BLD)\intervals.obj \ $(BLD)\composite.obj \ $(BLD)\ralloc.obj \ $(BLD)\textprop.obj \ $(BLD)\vm-limit.obj \ $(BLD)\region-cache.obj \ $(BLD)\strftime.obj \ $(BLD)\charset.obj \ $(BLD)\coding.obj \ $(BLD)\category.obj \ $(BLD)\ccl.obj \ $(BLD)\fontset.obj WIN32OBJ = $(BLD)\w32term.obj \ $(BLD)\w32xfns.obj \ $(BLD)\w32fns.obj \ $(BLD)\xfaces.obj \ $(BLD)\w32select.obj \ $(BLD)\w32menu.obj \ $(BLD)\w32reg.obj \ $(BLD)\w32bdf.obj LIBS = $(TLIB0) \ $(TLIB1) \ $(TLIB2) \ !IFDEF NTGUI $(TLIBW32) \ !ENDIF $(TLASTLIB) \ !IFDEF NTGUI gdi32.lib \ comdlg32.lib \ !ENDIF # libcmt.lib \ $(BASE_LIBS) \ $(ADVAPI32) \ user32.lib \ mpr.lib \ shell32.lib \ setargv.obj # # Build the executable and dump it. # all: $(BLD) $(EMACS) # # Headers we would preprocess if we could. # PREPARED_HEADERS = config.h epaths.h config.h: ..\nt\$(CONFIG_H) $(CP) $** $@ epaths.h: ..\nt\paths.h $(CP) $** $@ # # Make sure we have the DOC file in the right place. # DOC = $(OBJDIR)\etc\DOC-X $(DOC):; cd ..\lib-src - $(DEL) DOC-X $(MAKE) $(MFLAGS) -f makefile.nt all cd ..\src # # The dumped executable # emacs: $(EMACS) $(EMACS): $(DOC) $(TEMACS) $(MAKEDIR)\$(BLD)\temacs.exe -batch -l loadup dump # # The undumped executable # Note the extra post-link step to insert a static preload heap section. # If preload runs out of memory, increase the last argument to addsection # (it is the preload heap size in MB). # temacs: $(BLD) $(TEMACS) $(TEMACS): $(PREPARED_HEADERS) $(TLIB0) $(TLIB1) $(TLIB2) $(TLIBW32) $(TLASTLIB) $(TOBJ) $(TRES) $(LINK) -out:$(TEMACS_TMP) $(LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS) ..\nt\$(BLD)\addsection $(TEMACS_TMP) $(TEMACS) EMHEAP 16 bootstrap: bootstrap-emacs # # Build a temacs with a sufficiently large PURESIZE to load the # Lisp files from loadup.el in source form. # bootstrap-temacs: bootstrap-clean $(MAKE) $(MFLAGS) -f makefile.nt temacs CFLAGS="$(CFLAGS) -DPURESIZE=5000000" # # Dump an Emacs executable named bootstrap-emacs containing the # files from loadup.el in source form. # bootstrap-emacs: bootstrap-temacs $(MAKEDIR)\$(BLD)\temacs.exe -batch -l loadup bootstrap - mkdir ..\bin $(CP) $(EMACS) ..\bin # # Force recompile of files that depend on PURESIZE # bootstrap-clean: - $(DEL) $(BLD)\alloc.obj - $(DEL) $(BLD)\data.obj - $(DEL) $(BLD)\intervals.obj - $(DEL) $(BLD)\keyboard.obj - $(DEL) $(BLD)\keymap.obj # # The resource file. NT 3.10 requires the use of cvtres; even though # it is not necessary on later versions, it is still ok to use it. # $(TRES): ..\nt\emacs.rc $(RC) -i..\nt -Fo$(BLD)\emacs.res $** !if !$(MSVCNT11) $(CVTRES) -r -$(ARCH) -o $@ $(BLD)\emacs.res !endif # # Build the library. Split up the build into two phases...otherwise we # run out of command line space. # $(TLIB0): $(OBJ0) @- $(AR) -out:$@ $** $(TLIB1): $(OBJ1) @- $(AR) -out:$@ $** $(TLIB2): $(OBJ2) @- $(AR) -out:$@ $** !IFDEF NTGUI $(TLIBW32): $(WIN32OBJ) @- $(AR) -out:$@ $** !ENDIF # # Place lastfile.obj in its own library so that it can be loaded after # the source libraries but before any system libraries. Doing so defines # the end of Emacs' data section portably across compilers and systems. # $(TLASTLIB): $(BLD)\lastfile.obj @- $(AR) -out:$@ $** # # Assuming INSTALL_DIR is defined, build and install emacs in it. # install: all - mkdir $(INSTALL_DIR)\bin $(CP) $(EMACS) $(INSTALL_DIR)\bin # # Maintenance # clean:; - $(DEL) *~ s\*~ - $(DEL) *.pdb config.h epaths.h - $(DEL) *.orig *.rej *.crlf - $(DEL) s\*.orig s\*.rej s\*.crlf - $(DEL_TREE) deleted - $(DEL_TREE) obj - $(DEL_TREE) obj-spd # # These files are the ones that compile conditionally on CANNOT_DUMP... # this target is mostly used for debugging. # cleandump:; cd $(BLD) - $(DEL) callproc.obj data.obj dispnew.obj doc.obj editfns.obj emacs.obj lread.obj process.obj sysdep.obj term.obj w32heap.obj unexw32.obj cd ..\.. ### DEPENDENCIES ### EMACS_ROOT = .. SRC = . $(BLD)\abbrev.obj : \ $(SRC)\abbrev.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\commands.h \ $(SRC)\buffer.h \ $(SRC)\window.h $(BLD)\alloc.obj : \ $(SRC)\alloc.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(SRC)\puresize.h \ $(SRC)\buffer.h \ $(SRC)\window.h \ $(SRC)\frame.h \ $(SRC)\blockinput.h \ $(SRC)\syssignal.h $(BLD)\alloca.obj : \ $(SRC)\alloca.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\s\ms-w32.h \ $(SRC)\m\intel386.h \ $(SRC)\config.h \ $(SRC)\blockinput.h $(BLD)\atimer.obj : \ $(SRC)\atimer.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\s\ms-w32.h \ $(SRC)\m\intel386.h \ $(SRC)\config.h \ $(SRC)\atimer.h \ $(SRC)\syssignal.h \ $(SRC)\systime.h \ $(SRC)\blockinput.h $(BLD)\buffer.obj : \ $(SRC)\buffer.c \ $(EMACS_ROOT)\nt\inc\sys\param.h \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(SRC)\frame.h \ $(SRC)\window.h \ $(SRC)\commands.h \ $(SRC)\buffer.h \ $(SRC)\indent.h \ $(SRC)\blockinput.h \ $(SRC)\region-cache.h $(BLD)\bytecode.obj : \ $(SRC)\bytecode.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\buffer.h \ $(SRC)\syntax.h $(BLD)\callint.obj : \ $(SRC)\callint.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\buffer.h \ $(SRC)\commands.h \ $(SRC)\keyboard.h \ $(SRC)\window.h \ $(SRC)\mocklisp.h $(BLD)\callproc.obj : \ $(SRC)\callproc.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\msdos.h \ $(EMACS_ROOT)\nt\inc\sys\param.h \ $(SRC)\commands.h \ $(SRC)\buffer.h \ $(SRC)\process.h \ $(SRC)\syssignal.h \ $(EMACS_ROOT)\nt\inc\sys\ioctl.h \ $(EMACS_ROOT)\nt\inc\sys\file.h \ $(SRC)\systty.h $(BLD)\casefiddle.obj : \ $(SRC)\casefiddle.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\buffer.h \ $(SRC)\commands.h \ $(SRC)\syntax.h $(CC) $(CFLAGS) -Fo$@ casefiddle.c $(BLD)\casetab.obj : \ $(SRC)\casetab.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\buffer.h $(BLD)\cm.obj : \ $(SRC)\cm.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\cm.h \ $(SRC)\termhooks.h $(BLD)\cmds.obj : \ $(SRC)\cmds.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\commands.h \ $(SRC)\buffer.h \ $(SRC)\syntax.h $(BLD)\composite.obj : \ $(SRC)\composite.c \ $(SRC)\buffer.h \ $(SRC)\charset.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h $(BLD)\data.obj : \ $(SRC)\data.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\puresize.h \ $(SRC)\buffer.h \ $(SRC)\syssignal.h $(BLD)\dired.obj : \ $(SRC)\dired.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\ndir.h \ $(SRC)\buffer.h \ $(SRC)\commands.h \ $(SRC)\regex.h $(BLD)\dispnew.obj : \ $(SRC)\dispnew.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\termchar.h \ $(SRC)\termopts.h \ $(SRC)\termhooks.h \ $(SRC)\cm.h \ $(SRC)\buffer.h \ $(SRC)\frame.h \ $(SRC)\window.h \ $(SRC)\commands.h \ $(SRC)\disptab.h \ $(SRC)\indent.h \ $(SRC)\dispextern.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(EMACS_ROOT)\nt\inc\sys\ioctl.h \ $(EMACS_ROOT)\nt\inc\sys\file.h \ $(SRC)\systty.h \ $(SRC)\w32term.h \ $(SRC)\w32gui.h \ $(SRC)\xterm.h \ $(SRC)\systime.h $(BLD)\doc.obj : \ $(SRC)\doc.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(EMACS_ROOT)\nt\inc\sys\file.h \ $(SRC)\buffer.h \ $(SRC)\keyboard.h $(BLD)\doprnt.obj : \ $(SRC)\doprnt.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h $(BLD)\dosfns.obj : \ $(SRC)\dosfns.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\buffer.h \ $(SRC)\termchar.h \ $(SRC)\termhooks.h \ $(SRC)\frame.h \ $(SRC)\dosfns.h \ $(SRC)\msdos.h $(BLD)\editfns.obj : \ $(SRC)\editfns.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\uaf.h \ $(EMACS_ROOT)\nt\inc\pwd.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(SRC)\buffer.h \ $(SRC)\window.h \ $(SRC)\systime.h $(BLD)\emacs.obj : \ $(SRC)\emacs.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\commands.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(EMACS_ROOT)\nt\inc\sys\ioctl.h \ $(EMACS_ROOT)\nt\inc\sys\file.h \ $(SRC)\systty.h \ $(SRC)\syssignal.h \ $(SRC)\process.h $(BLD)\eval.obj : \ $(SRC)\eval.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\blockinput.h \ $(SRC)\commands.h \ $(SRC)\keyboard.h $(BLD)\fileio.obj : \ $(SRC)\fileio.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\uaf.h \ $(EMACS_ROOT)\nt\inc\pwd.h \ $(SRC)\msdos.h \ $(EMACS_ROOT)\nt\inc\sys\param.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(SRC)\buffer.h \ $(SRC)\window.h \ $(EMACS_ROOT)\nt\inc\sys\file.h \ $(SRC)\systime.h $(BLD)\filelock.obj : \ $(SRC)\filelock.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\uaf.h \ $(EMACS_ROOT)\nt\inc\pwd.h \ $(EMACS_ROOT)\nt\inc\sys\file.h \ $(EMACS_ROOT)\src\epaths.h \ $(SRC)\buffer.h \ $(SRC)\ndir.h $(BLD)\filemode.obj : \ $(SRC)\filemode.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\s\ms-w32.h \ $(SRC)\m\intel386.h \ $(SRC)\config.h $(BLD)\firstfile.obj : \ $(SRC)\firstfile.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h $(BLD)\floatfns.obj : \ $(SRC)\floatfns.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\syssignal.h $(BLD)\fns.obj : \ $(SRC)\fns.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\commands.h \ $(SRC)\buffer.h \ $(SRC)\keyboard.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(SRC)\md5.h $(BLD)\frame.obj : \ $(SRC)\frame.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\frame.h \ $(SRC)\termhooks.h \ $(SRC)\window.h \ $(SRC)\buffer.h \ $(SRC)\commands.h \ $(SRC)\keyboard.h $(BLD)\getloadavg.obj : \ $(SRC)\getloadavg.c \ $(EMACS_ROOT)\nt\inc\sys\param.h \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\s\ms-w32.h \ $(SRC)\m\intel386.h \ $(SRC)\config.h \ $(EMACS_ROOT)\nt\inc\sys\file.h $(BLD)\gmalloc.obj : \ $(SRC)\gmalloc.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(EMACS_ROOT)\nt\inc\sys\param.h \ $(SRC)\getpagesize.h $(CC) $(CFLAGS) -D__STDC__ -Fo$@ gmalloc.c $(BLD)\hftctl.obj : \ $(SRC)\hftctl.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(EMACS_ROOT)\nt\inc\sys\ioctl.h $(BLD)\indent.obj : \ $(SRC)\indent.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\buffer.h \ $(SRC)\indent.h \ $(SRC)\frame.h \ $(SRC)\window.h \ $(SRC)\termchar.h \ $(SRC)\termopts.h \ $(SRC)\disptab.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\intervals.h \ $(SRC)\region-cache.h \ $(SRC)\composite.h $(BLD)\insdel.obj : \ $(SRC)\insdel.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(SRC)\buffer.h \ $(SRC)\window.h \ $(SRC)\blockinput.h $(BLD)\intervals.obj : \ $(SRC)\intervals.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(SRC)\keyboard.h \ $(SRC)\buffer.h \ $(SRC)\puresize.h $(BLD)\keyboard.obj : \ $(SRC)\keyboard.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\termchar.h \ $(SRC)\termopts.h \ $(SRC)\termhooks.h \ $(SRC)\macros.h \ $(SRC)\frame.h \ $(SRC)\window.h \ $(SRC)\commands.h \ $(SRC)\buffer.h \ $(SRC)\disptab.h \ $(SRC)\keyboard.h \ $(SRC)\dispextern.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(SRC)\blockinput.h \ $(SRC)\msdos.h \ $(SRC)\syssignal.h \ $(EMACS_ROOT)\nt\inc\sys\ioctl.h \ $(EMACS_ROOT)\nt\inc\sys\file.h \ $(SRC)\systty.h \ $(SRC)\w32term.h \ $(SRC)\w32gui.h \ $(SRC)\xterm.h \ $(SRC)\systime.h \ $(SRC)\atimer.h $(BLD)\keymap.obj : \ $(SRC)\keymap.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\commands.h \ $(SRC)\buffer.h \ $(SRC)\keyboard.h \ $(SRC)\termhooks.h \ $(SRC)\blockinput.h $(BLD)\lastfile.obj : \ $(SRC)\lastfile.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h $(BLD)\lread.obj : \ $(SRC)\lread.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(EMACS_ROOT)\nt\inc\sys\file.h \ $(SRC)\buffer.h \ $(EMACS_ROOT)\src\epaths.h \ $(SRC)\commands.h \ $(SRC)\keyboard.h \ $(SRC)\termhooks.h \ $(SRC)\msdos.h $(BLD)\macros.obj : \ $(SRC)\macros.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\macros.h \ $(SRC)\commands.h \ $(SRC)\buffer.h \ $(SRC)\window.h $(BLD)\marker.obj : \ $(SRC)\marker.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\buffer.h $(BLD)\md5.obj : \ $(SRC)\md5.c \ $(SRC)\md5.h $(BLD)\minibuf.obj : \ $(SRC)\minibuf.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\commands.h \ $(SRC)\buffer.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\frame.h \ $(SRC)\window.h \ $(SRC)\syntax.h $(BLD)\mocklisp.obj : \ $(SRC)\mocklisp.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\buffer.h $(BLD)\w32.obj : \ $(SRC)\w32.c \ $(SRC)\w32.h \ $(SRC)\s\ms-w32.h \ $(SRC)\m\intel386.h \ $(SRC)\config.h \ $(EMACS_ROOT)\nt\inc\pwd.h \ $(SRC)\w32heap.h $(BLD)\w32heap.obj : \ $(SRC)\w32heap.c \ $(SRC)\w32heap.h \ $(SRC)\s\ms-w32.h \ $(SRC)\m\intel386.h \ $(SRC)\config.h $(BLD)\w32inevt.obj : \ $(SRC)\w32inevt.c \ $(SRC)\s\ms-w32.h \ $(SRC)\m\intel386.h \ $(SRC)\config.h \ $(SRC)\frame.h \ $(SRC)\blockinput.h \ $(SRC)\termhooks.h \ $(SRC)\w32heap.h \ $(SRC)\w32term.h \ $(SRC)\w32gui.h $(BLD)\w32proc.obj : \ $(SRC)\w32proc.c \ $(SRC)\s\ms-w32.h \ $(SRC)\m\intel386.h \ $(SRC)\config.h \ $(SRC)\w32.h \ $(SRC)\w32heap.h \ $(SRC)\systime.h $(BLD)\w32console.obj : \ $(SRC)\w32console.c \ $(SRC)\s\ms-w32.h \ $(SRC)\m\intel386.h \ $(SRC)\config.h \ $(SRC)\frame.h \ $(SRC)\disptab.h \ $(SRC)\termhooks.h \ $(SRC)\w32inevt.h $(BLD)\prefix-args.obj : \ $(SRC)\prefix-args.c $(BLD)\print.obj : \ $(SRC)\print.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\buffer.h \ $(SRC)\frame.h \ $(SRC)\window.h \ $(SRC)\process.h \ $(SRC)\termchar.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\intervals.h \ $(SRC)\composite.h $(BLD)\process.obj : \ $(SRC)\process.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(EMACS_ROOT)\nt\inc\sys\ioctl.h \ $(EMACS_ROOT)\nt\inc\sys\file.h \ $(SRC)\systty.h \ $(SRC)\window.h \ $(SRC)\buffer.h \ $(SRC)\process.h \ $(SRC)\termhooks.h \ $(SRC)\commands.h \ $(SRC)\frame.h \ $(SRC)\syssignal.h \ $(SRC)\syswait.h \ $(SRC)\systime.h \ $(SRC)\termopts.h \ $(SRC)\composite.h \ $(SRC)\atimer.h $(BLD)\ralloc.obj : \ $(SRC)\ralloc.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\s\ms-w32.h \ $(SRC)\m\intel386.h \ $(SRC)\config.h \ $(EMACS_ROOT)\nt\inc\sys\param.h \ $(SRC)\getpagesize.h $(BLD)\regex.obj : \ $(SRC)\regex.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\s\ms-w32.h \ $(SRC)\m\intel386.h \ $(SRC)\config.h \ $(SRC)\buffer.h \ $(SRC)\syntax.h \ $(SRC)\regex.h $(BLD)\region-cache.obj : \ $(SRC)\region-cache.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\buffer.h \ $(SRC)\region-cache.h $(BLD)\scroll.obj : \ $(SRC)\scroll.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\termchar.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\frame.h $(BLD)\search.obj : \ $(SRC)\search.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\syntax.h \ $(SRC)\buffer.h \ $(SRC)\commands.h \ $(SRC)\blockinput.h \ $(SRC)\regex.h \ $(SRC)\region-cache.h \ $(SRC)\composite.h $(BLD)\strftime.obj : \ $(SRC)\strftime.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h $(BLD)\syntax.obj : \ $(SRC)\syntax.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\commands.h \ $(SRC)\buffer.h \ $(SRC)\syntax.h \ $(SRC)\composite.h $(BLD)\sysdep.obj : \ $(SRC)\sysdep.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\blockinput.h \ $(SRC)\dosfns.h \ $(SRC)\msdos.h \ $(EMACS_ROOT)\nt\inc\sys\param.h \ $(EMACS_ROOT)\nt\inc\sys\file.h \ $(EMACS_ROOT)\nt\inc\sys\ioctl.h \ $(EMACS_ROOT)\nt\inc\sys\file.h \ $(SRC)\systty.h \ $(SRC)\syswait.h \ $(SRC)\frame.h \ $(SRC)\window.h \ $(SRC)\termhooks.h \ $(SRC)\termchar.h \ $(SRC)\termopts.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\process.h \ $(SRC)\ndir.h \ $(SRC)\syssignal.h \ $(SRC)\systime.h \ $(SRC)\uaf.h \ $(EMACS_ROOT)\src\acldef.h \ $(EMACS_ROOT)\src\chpdef.h $(BLD)\term.obj : \ $(SRC)\term.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\termchar.h \ $(SRC)\termopts.h \ $(SRC)\cm.h \ $(SRC)\frame.h \ $(SRC)\disptab.h \ $(SRC)/dispextern.h \ $(SRC)\termhooks.h \ $(SRC)\keyboard.h $(BLD)\termcap.obj : \ $(SRC)\termcap.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(EMACS_ROOT)\nt\inc\sys\file.h $(BLD)\terminfo.obj : \ $(SRC)\terminfo.c $(BLD)\textprop.obj : \ $(SRC)\textprop.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(SRC)\buffer.h \ $(SRC)\window.h $(BLD)\tparam.obj : \ $(SRC)\tparam.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h $(BLD)\undo.obj : \ $(SRC)\undo.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\buffer.h \ $(SRC)\commands.h $(BLD)\unexw32.obj : \ $(SRC)\unexw32.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\w32heap.h $(BLD)\vm-limit.obj : \ $(SRC)\vm-limit.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\mem-limits.h $(BLD)\widget.obj : \ $(SRC)\widget.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\xterm.h \ $(SRC)\frame.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\widget.h \ $(SRC)\widgetprv.h $(BLD)\window.obj : \ $(SRC)\window.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\buffer.h \ $(SRC)\frame.h \ $(SRC)\window.h \ $(SRC)\commands.h \ $(SRC)\indent.h \ $(SRC)\termchar.h \ $(SRC)\disptab.h \ $(SRC)\keyboard.h \ $(SRC)\composite.h $(BLD)\xdisp.obj : \ $(SRC)\xdisp.c \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\frame.h \ $(SRC)\window.h \ $(SRC)\termchar.h \ $(SRC)\buffer.h \ $(SRC)\indent.h \ $(SRC)\commands.h \ $(SRC)\macros.h \ $(SRC)\disptab.h \ $(SRC)\termhooks.h \ $(SRC)\dispextern.h \ $(SRC)\w32gui.h \ $(SRC)\intervals.h \ $(SRC)\composite.h $(BLD)\xfaces.obj: \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\xfaces.c \ $(SRC)\charset.h \ $(SRC)\fontset.h \ $(SRC)\w32term.h \ $(SRC)\w32gui.h \ $(SRC)\buffer.h \ $(SRC)\dispextern.h \ $(SRC)\frame.h \ $(SRC)\blockinput.h \ $(SRC)\window.h \ $(SRC)\intervals.h \ $(SRC)\composite.h $(BLD)\w32fns.obj: \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\w32fns.c \ $(SRC)\w32term.h \ $(SRC)\w32gui.h \ $(SRC)\frame.h \ $(SRC)\window.h \ $(SRC)\buffer.h \ $(SRC)\charset.h \ $(SRC)\coding.h \ $(SRC)\dispextern.h \ $(SRC)\keyboard.h \ $(SRC)\blockinput.h \ $(SRC)\epaths.h \ $(SRC)\w32heap.h \ $(SRC)\termhooks.h $(BLD)\w32menu.obj: \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\w32menu.c \ $(SRC)\termhooks.h \ $(SRC)\frame.h \ $(SRC)\window.h \ $(SRC)\keyboard.h \ $(SRC)\blockinput.h \ $(SRC)\buffer.h \ $(SRC)\charset.h \ $(SRC)\coding.h $(BLD)\w32term.obj: \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\w32term.c \ $(SRC)\blockinput.h \ $(SRC)\w32heap.h \ $(SRC)\w32term.h \ $(SRC)\w32gui.h \ $(SRC)\systty.h \ $(SRC)\systime.h \ $(SRC)\frame.h \ $(SRC)\dispextern.h \ $(SRC)\termhooks.h \ $(SRC)\termopts.h \ $(SRC)\termchar.h \ $(SRC)\gnu.h \ $(SRC)\disptab.h \ $(SRC)\buffer.h \ $(SRC)\window.h \ $(SRC)\keyboard.h \ $(SRC)\intervals.h \ $(SRC)\composite.h \ $(SRC)\atimer.h $(BLD)\w32select.obj: \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\w32select.c \ $(SRC)\w32term.h \ $(SRC)\w32gui.h \ $(SRC)\dispextern.h \ $(SRC)\frame.h \ $(SRC)\blockinput.h $(BLD)\w32reg.obj: \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\w32reg.c \ $(SRC)\w32term.h \ $(SRC)\w32gui.h \ $(SRC)\blockinput.h $(BLD)\w32xfns.obj: \ $(EMACS_ROOT)\src\s\ms-w32.h \ $(EMACS_ROOT)\src\m\intel386.h \ $(EMACS_ROOT)\src\config.h \ $(SRC)\w32xfns.c \ $(BLD)\w32bdf.obj: \ $(EMACS_ROOT)\src/s\ms-w32.h \ $(EMACS_ROOT)\src/m\intel386.h \ $(EMACS_ROOT)\src/config.h \ $(SRC)\w32bdf.c \ $(SRC)\charset.h \ $(SRC)\frame.h \ $(SRC)\dispextern.h \ $(SRC)\fontset.h \ $(SRC)\blockinput.h \ $(SRC)\w32gui.h \ $(SRC)\w32term.h \ $(SRC)\w32gui.h \ $(SRC)\w32bdf.h \ $(SRC)\w32.h \ $(SRC)\frame.h \ $(SRC)\blockinput.h