X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=nt%2Fxemacs.mak;h=19bed41d498f5638a651d46d327224bfab76b25f;hb=01dc57284a79d66c5c2b141a304b52f5f8e76d61;hp=31733b5424654c6e59030907f17480e6460a3f98;hpb=1e7fd761ecf5fd2208bde8e30fc6f7cbf789b7db;p=chise%2Fxemacs-chise.git.1 diff --git a/nt/xemacs.mak b/nt/xemacs.mak index 31733b5..19bed41 100644 --- a/nt/xemacs.mak +++ b/nt/xemacs.mak @@ -30,6 +30,9 @@ MODULES=$(XEMACS)\modules NT=$(XEMACS)\nt OUTDIR=$(NT)\obj +# Define a variable for the 'del' command to use +DEL=-del + # Program name and version !include "..\version.sh" @@ -117,22 +120,41 @@ HAVE_MSW_C_DIRED=1 !if !defined(HAVE_NATIVE_SOUND) HAVE_NATIVE_SOUND=1 !endif +!if !defined(HAVE_WIDGETS) +HAVE_WIDGETS=1 +!endif !if !defined(DEBUG_XEMACS) DEBUG_XEMACS=0 !endif !if !defined(USE_UNION_TYPE) USE_UNION_TYPE=0 !endif +!if !defined(USE_MINITAR) +USE_MINITAR=1 +!endif !if !defined(USE_MINIMAL_TAGBITS) USE_MINIMAL_TAGBITS=0 !endif !if !defined(USE_INDEXED_LRECORD_IMPLEMENTATION) USE_INDEXED_LRECORD_IMPLEMENTATION=0 !endif +!if !defined(USE_PORTABLE_DUMPER) +USE_PORTABLE_DUMPER=0 +!endif !if !defined(GUNG_HO) GUNG_HO=0 !endif +# A little bit of adhockery. Default to use system malloc and +# DLL version of the C runtime library when using portable +# dumping. These are the optimal settings. +!if !defined(USE_SYSTEM_MALLOC) +USE_SYSTEM_MALLOC=$(USE_PORTABLE_DUMPER) +!endif +!if !defined(USE_CRTDLL) +USE_CRTDLL=$(USE_PORTABLE_DUMPER) +!endif + # # System configuration # @@ -159,6 +181,19 @@ CONFIG_ERROR=0 !message Cannot build InfoDock without InfoDock sources CONFIG_ERROR=1 !endif +!if !$(USE_PORTABLE_DUMPER) && $(USE_SYSTEM_MALLOC) +!message Cannot use system allocator when dumping old way, use portable dumper. +CONFIG_ERROR=1 +!endif +!if !$(USE_PORTABLE_DUMPER) && $(USE_CRTDLL) +!message Cannot use C runtime DLL when dumping old way, use portable dumper. +CONFIG_ERROR=1 +!endif +!if !$(USE_SYSTEM_MALLOC) && $(USE_CRTDLL) +!message GNU malloc currently cannot be used with CRT DLL. +!message [[[Developer note: If you want to fix it, read Q112297 first]]] #### +CONFIG_ERROR=1 +!endif !if !$(HAVE_MSW) && !$(HAVE_X) !message Please specify at least one HAVE_MSW=1 and/or HAVE_X=1 CONFIG_ERROR=1 @@ -253,7 +288,20 @@ OPT=-Od -Zi OPT=-O2 -G5 !endif -CFLAGS=-nologo -W3 $(OPT) +!if $(USE_CRTDLL) +!if $(DEBUG_XEMACS) +C_LIBFLAG=-MDd +LIBC_LIB=msvcrtd.lib +!else +C_LIBFLAG=-MD +LIBC_LIB=msvcrt.lib +!endif +!else +C_LIBFLAG=-ML +LIBC_LIB=libc.lib +!endif + +CFLAGS=-nologo -W3 $(OPT) $(C_LIBFLAG) !if $(HAVE_X) X_DEFINES=-DHAVE_X_WINDOWS @@ -311,6 +359,9 @@ MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS MSW_DIALOG_SRC=$(XEMACS)\src\dialog.c $(XEMACS)\src\dialog-msw.c MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj !endif +!if $(HAVE_WIDGETS) +MSW_DEFINES=$(MSW_DEFINES) -DHAVE_WIDGETS +!endif !if $(HAVE_NATIVE_SOUND) MSW_DEFINES=$(MSW_DEFINES) -DHAVE_NATIVE_SOUND !endif @@ -335,6 +386,16 @@ LRECORD_DEFINES=-DUSE_INDEXED_LRECORD_IMPLEMENTATION UNION_DEFINES=-DUSE_UNION_TYPE !endif +!if $(USE_PORTABLE_DUMPER) +DUMPER_DEFINES=-DPDUMP +!endif + +!if $(USE_SYSTEM_MALLOC) +MALLOC_DEFINES=-DSYSTEM_MALLOC +!else +MALLOC_DEFINES=-DGNU_MALLOC +!endif + # Hard-coded paths !if $(INFODOCK) @@ -351,6 +412,7 @@ INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XE DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \ $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \ + $(DUMPER_DEFINES) $(MALLOC_DEFINES) \ -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \ -DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES) @@ -408,17 +470,19 @@ CONFIG_VALUES = $(LIB_SRC)\config.values # Inferred rule {$(LIB_SRC)}.c{$(LIB_SRC)}.exe : - @cd $(LIB_SRC) + cd $(LIB_SRC) $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** -link -incremental:no - @cd $(NT) + cd $(NT) # Individual dependencies ETAGS_DEPS = $(LIB_SRC)/getopt.c $(LIB_SRC)/getopt1.c $(LIB_SRC)/../src/regex.c $(LIB_SRC)/etags.exe : $(LIB_SRC)/etags.c $(ETAGS_DEPS) $(LIB_SRC)/movemail.exe: $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS) - @cd $(LIB_SRC) + cd $(LIB_SRC) $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** wsock32.lib -link -incremental:no - @cd $(NT) + cd $(NT) +$(LIB_SRC)/minitar.exe : $(NT)/minitar.mak $(NT)/minitar.c + nmake -nologo -f minitar.mak ZLIB="$(ZLIB_DIR)" NT="$(NT)" LIB_SRC="$(LIB_SRC)" LIB_SRC_TOOLS = \ $(LIB_SRC)/make-docfile.exe \ @@ -428,6 +492,14 @@ LIB_SRC_TOOLS = \ $(LIB_SRC)/sorted-doc.exe \ $(LIB_SRC)/wakeup.exe \ $(LIB_SRC)/etags.exe +!if $(USE_MINITAR) +LIB_SRC_TOOLS = \ + $(LIB_SRC_TOOLS) \ + $(LIB_SRC)/minitar.exe +!endif + +# Shorthand target +minitar: $(LIB_SRC)/minitar.exe #------------------------------------------------------------------------------ @@ -445,6 +517,8 @@ $(LIB_SRC)\run.res: $(LIB_SRC)\run.rc # LASTFILE Library +!if !$(USE_SYSTEM_MALLOC) || !$(USE_PORTABLE_DUMPER) + LASTFILE=$(OUTDIR)\lastfile.lib LASTFILE_SRC=$(XEMACS)\src LASTFILE_FLAGS=$(CFLAGS) $(INCLUDES) -Fo$@ -Fd$* -c @@ -457,6 +531,8 @@ $(LASTFILE): $(XEMACS_INCLUDES) $(LASTFILE_OBJS) $(OUTDIR)\lastfile.obj: $(LASTFILE_SRC)\lastfile.c $(CCV) $(LASTFILE_FLAGS) $** +!endif + #------------------------------------------------------------------------------ !if $(HAVE_X) @@ -546,12 +622,10 @@ DOC_SRC2=\ DOC_SRC3=\ $(XEMACS)\src\font-lock.c \ $(XEMACS)\src\frame.c \ - $(XEMACS)\src\free-hook.c \ $(XEMACS)\src\general.c \ $(XEMACS)\src\glyphs.c \ $(XEMACS)\src\glyphs-eimage.c \ $(XEMACS)\src\glyphs-widget.c \ - $(XEMACS)\src\gmalloc.c \ $(XEMACS)\src\gui.c \ $(XEMACS)\src\gutter.c \ $(XEMACS)\src\hash.c \ @@ -570,7 +644,6 @@ DOC_SRC4=\ $(XEMACS)\src\menubar.c \ $(XEMACS)\src\minibuf.c \ $(XEMACS)\src\nt.c \ - $(XEMACS)\src\ntheap.c \ $(XEMACS)\src\ntplay.c \ $(XEMACS)\src\ntproc.c \ $(XEMACS)\src\objects.c \ @@ -598,8 +671,6 @@ DOC_SRC5=\ $(XEMACS)\src\termcap.c \ $(XEMACS)\src\tparam.c \ $(XEMACS)\src\undo.c \ - $(XEMACS)\src\unexnt.c \ - $(XEMACS)\src\vm-limit.c \ $(XEMACS)\src\window.c \ $(XEMACS)\src\widget.c @@ -659,7 +730,21 @@ DOC_SRC8=\ !if $(DEBUG_XEMACS) DOC_SRC9=\ - $(XEMACS)\src\debug.c + $(XEMACS)\src\debug.c \ + $(XEMACS)\src\tests.c +!endif + +!if !$(USE_SYSTEM_MALLOC) +DOC_SRC10=\ + $(XEMACS)\src\free-hook.c \ + $(XEMACS)\src\gmalloc.c \ + $(XEMACS)\src\ntheap.c \ + $(XEMACS)\src\vm-limit.c +!endif + +!if !$(USE_PORTABLE_DUMPER) +DOC_SRC11=\ + $(XEMACS)\src\unexnt.c !endif #------------------------------------------------------------------------------ @@ -671,18 +756,22 @@ DOC_SRC9=\ EMACS_BETA_VERSION=-DEMACS_BETA_VERSION=$(emacs_beta_version) !ENDIF +!if !$(USE_PORTABLE_DUMPER) +TEMACS_ENTRYPOINT=-entry:_start +!endif + TEMACS_DIR=$(XEMACS)\src TEMACS=$(TEMACS_DIR)\temacs.exe TEMACS_BROWSE=$(TEMACS_DIR)\temacs.bsc TEMACS_SRC=$(XEMACS)\src TEMACS_LIBS=$(LASTFILE) $(LWLIB) $(X_LIBS) $(MSW_LIBS) \ - kernel32.lib user32.lib gdi32.lib advapi32.lib \ - shell32.lib wsock32.lib winmm.lib libc.lib + oldnames.lib kernel32.lib user32.lib gdi32.lib advapi32.lib \ + shell32.lib wsock32.lib winmm.lib winspool.lib $(LIBC_LIB) TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS) -base:0x1000000\ - -stack:0x800000 -entry:_start -subsystem:console\ + -stack:0x800000 $(TEMACS_ENTRYPOINT) -subsystem:console\ -pdb:$(TEMACS_DIR)\temacs.pdb -map:$(TEMACS_DIR)\temacs.map \ - -heap:0x00100000 -out:$@ -TEMACS_CPP_FLAGS=-ML -c \ + -heap:0x00100000 -out:$@ -nodefaultlib +TEMACS_CPP_FLAGS=-c \ $(CFLAGS) $(INCLUDES) $(DEFINES) $(DEBUG_DEFINES) \ -DEMACS_MAJOR_VERSION=$(emacs_major_version) \ -DEMACS_MINOR_VERSION=$(emacs_minor_version) \ @@ -748,7 +837,21 @@ TEMACS_MULE_OBJS=\ !if $(DEBUG_XEMACS) TEMACS_DEBUG_OBJS=\ - $(OUTDIR)\debug.obj + $(OUTDIR)\debug.obj \ + $(OUTDIR)\tests.obj +!endif + +!if !$(USE_SYSTEM_MALLOC) +TEMACS_ALLOC_OBJS=\ + $(OUTDIR)\free-hook.obj \ + $(OUTDIR)\gmalloc.obj \ + $(OUTDIR)\ntheap.obj \ + $(OUTDIR)\vm-limit.obj +!endif + +!if !$(USE_PORTABLE_DUMPER) +TEMACS_DUMP_OBJS=\ + $(OUTDIR)\unexnt.obj !endif TEMACS_OBJS= \ @@ -757,6 +860,8 @@ TEMACS_OBJS= \ $(TEMACS_CODING_OBJS)\ $(TEMACS_MULE_OBJS)\ $(TEMACS_DEBUG_OBJS)\ + $(TEMACS_ALLOC_OBJS)\ + $(TEMACS_DUMP_OBJS)\ $(OUTDIR)\abbrev.obj \ $(OUTDIR)\alloc.obj \ $(OUTDIR)\alloca.obj \ @@ -794,12 +899,10 @@ TEMACS_OBJS= \ $(OUTDIR)\fns.obj \ $(OUTDIR)\font-lock.obj \ $(OUTDIR)\frame.obj \ - $(OUTDIR)\free-hook.obj \ $(OUTDIR)\general.obj \ $(OUTDIR)\glyphs.obj \ $(OUTDIR)\glyphs-eimage.obj \ $(OUTDIR)\glyphs-widget.obj \ - $(OUTDIR)\gmalloc.obj \ $(OUTDIR)\gui.obj \ $(OUTDIR)\gutter.obj \ $(OUTDIR)\hash.obj \ @@ -817,7 +920,6 @@ TEMACS_OBJS= \ $(OUTDIR)\md5.obj \ $(OUTDIR)\minibuf.obj \ $(OUTDIR)\nt.obj \ - $(OUTDIR)\ntheap.obj \ $(OUTDIR)\ntplay.obj \ $(OUTDIR)\ntproc.obj \ $(OUTDIR)\objects.obj \ @@ -843,8 +945,6 @@ TEMACS_OBJS= \ $(OUTDIR)\sysdep.obj \ $(OUTDIR)\tparam.obj \ $(OUTDIR)\undo.obj \ - $(OUTDIR)\unexnt.obj \ - $(OUTDIR)\vm-limit.obj \ $(OUTDIR)\widget.obj \ $(OUTDIR)\window.obj \ $(OUTDIR)\xemacs.res @@ -852,7 +952,7 @@ TEMACS_OBJS= \ # Rules .SUFFIXES: -.SUFFIXES: .c .texi +.SUFFIXES: .c .obj .texi .info # nmake rule !if $(DEBUG_XEMACS) @@ -881,7 +981,10 @@ $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS) !if $(DEBUG_XEMACS) @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp bscmake -nologo -o$(TEMACS_BROWSE) @bscmake.tmp - @del bscmake.tmp + @$(DEL) bscmake.tmp +!endif +!if $(USE_PORTABLE_DUMPER) + @if exist $(TEMACS_DIR)\xemacs.dmp del $(TEMACS_DIR)\xemacs.dmp !endif link.exe @<< $(TEMACS_LFLAGS) $(TEMACS_OBJS) $(TEMACS_LIBS) @@ -892,7 +995,7 @@ $(OUTDIR)\xemacs.res: xemacs.rc # Section handling automated tests starts here -SRCDIR=..\src +SRCDIR=$(MAKEDIR)\..\src PROGNAME=$(SRCDIR)\xemacs.exe blddir=$(MAKEDIR:\=\\)\\.. temacs_loadup=$(TEMACS) -batch -l $(SRCDIR)/../lisp/loadup.el @@ -917,7 +1020,10 @@ check-temacs: # Section handling automated tests ends here # Section handling info starts here -MAKEINFO=$(PROGNAME) -no-site-file -no-init-file -batch -l texinfmt -f batch-texinfo-format + +!if !defined(MAKEINFO) +MAKEINFO=$(PROGNAME) -vanilla -batch -l texinfmt -f batch-texinfo-format +!endif MANDIR = $(XEMACS)\man INFODIR = $(XEMACS)\info @@ -939,12 +1045,10 @@ INFO_FILES= \ $(INFODIR)\internals.info {$(MANDIR)}.texi{$(INFODIR)}.info: + cd $(MANDIR) $(MAKEINFO) $** -$(INFODIR)\xemacs.info: $(MANDIR)\xemacs\xemacs.texi - $(MAKEINFO) $** - -$(MANDIR)\xemacs\xemacs.texi: \ +XEMACS_SRCS = \ $(MANDIR)\xemacs\abbrevs.texi \ $(MANDIR)\xemacs\basic.texi \ $(MANDIR)\xemacs\buffers.texi \ @@ -956,13 +1060,13 @@ $(MANDIR)\xemacs\xemacs.texi: \ $(MANDIR)\xemacs\entering.texi \ $(MANDIR)\xemacs\files.texi \ $(MANDIR)\xemacs\fixit.texi \ + $(MANDIR)\xemacs\frame.texi \ $(MANDIR)\xemacs\glossary.texi \ $(MANDIR)\xemacs\gnu.texi \ $(MANDIR)\xemacs\help.texi \ $(MANDIR)\xemacs\indent.texi \ $(MANDIR)\xemacs\keystrokes.texi \ $(MANDIR)\xemacs\killing.texi \ - $(MANDIR)\xemacs\\xemacs.texi \ $(MANDIR)\xemacs\m-x.texi \ $(MANDIR)\xemacs\major.texi \ $(MANDIR)\xemacs\mark.texi \ @@ -970,25 +1074,23 @@ $(MANDIR)\xemacs\xemacs.texi: \ $(MANDIR)\xemacs\mini.texi \ $(MANDIR)\xemacs\misc.texi \ $(MANDIR)\xemacs\mouse.texi \ + $(MANDIR)\xemacs\mule.texi \ $(MANDIR)\xemacs\new.texi \ + $(MANDIR)\xemacs\packages.texi \ $(MANDIR)\xemacs\picture.texi \ $(MANDIR)\xemacs\programs.texi \ $(MANDIR)\xemacs\reading.texi \ $(MANDIR)\xemacs\regs.texi \ - $(MANDIR)\xemacs\frame.texi \ $(MANDIR)\xemacs\search.texi \ $(MANDIR)\xemacs\sending.texi \ + $(MANDIR)\xemacs\startup.texi \ $(MANDIR)\xemacs\text.texi \ $(MANDIR)\xemacs\trouble.texi \ $(MANDIR)\xemacs\undo.texi \ $(MANDIR)\xemacs\windows.texi \ + $(MANDIR)\xemacs\xemacs.texi - -$(INFODIR)\lispref.info: $(MANDIR)\lispref\lispref.texi - copy $(MANDIR)\lispref\index.perm $(MANDIR)\lispref\index.texi - $(MAKEINFO) $** - -$(MANDIR)\lispref\lispref.texi: \ +LISPREF_SRCS = \ $(MANDIR)\lispref\abbrevs.texi \ $(MANDIR)\lispref\annotations.texi \ $(MANDIR)\lispref\back.texi \ @@ -999,10 +1101,12 @@ $(MANDIR)\lispref\lispref.texi: \ $(MANDIR)\lispref\compile.texi \ $(MANDIR)\lispref\consoles-devices.texi \ $(MANDIR)\lispref\control.texi \ + $(MANDIR)\lispref\customize.texi \ $(MANDIR)\lispref\databases.texi \ $(MANDIR)\lispref\debugging.texi \ $(MANDIR)\lispref\dialog.texi \ $(MANDIR)\lispref\display.texi \ + $(MANDIR)\lispref\dragndrop.texi \ $(MANDIR)\lispref\edebug-inc.texi \ $(MANDIR)\lispref\edebug.texi \ $(MANDIR)\lispref\errors.texi \ @@ -1021,6 +1125,7 @@ $(MANDIR)\lispref\lispref.texi: \ $(MANDIR)\lispref\intro.texi \ $(MANDIR)\lispref\keymaps.texi \ $(MANDIR)\lispref\ldap.texi \ + $(MANDIR)\lispref\lispref.texi \ $(MANDIR)\lispref\lists.texi \ $(MANDIR)\lispref\loading.texi \ $(MANDIR)\lispref\locals.texi \ @@ -1052,37 +1157,62 @@ $(MANDIR)\lispref\lispref.texi: \ $(MANDIR)\lispref\tooltalk.texi \ $(MANDIR)\lispref\variables.texi \ $(MANDIR)\lispref\windows.texi \ - $(MANDIR)\lispref\x-windows.texi \ - $(MANDIR)\lispref\index.unperm \ - $(MANDIR)\lispref\index.perm \ + $(MANDIR)\lispref\x-windows.texi +INTERNALS_SRCS = \ + $(MANDIR)\internals\internals.texi \ + $(MANDIR)\internals\index.texi -$(INFODIR)\new-users-guide.info: $(MANDIR)\new-users-guide\new-users-guide.texi - $(MAKEINFO) $** - -$(MANDIR)\new-users-guide\new-users-guide.texi: \ +NEW_USERS_GUIDE_SRCS = \ $(MANDIR)\new-users-guide\custom1.texi \ - $(MANDIR)\new-users-guide\files.texi \ - $(MANDIR)\new-users-guide\region.texi \ $(MANDIR)\new-users-guide\custom2.texi \ - $(MANDIR)\new-users-guide\help.texi \ - $(MANDIR)\new-users-guide\search.texi \ $(MANDIR)\new-users-guide\edit.texi \ - $(MANDIR)\new-users-guide\modes.texi \ - $(MANDIR)\new-users-guide\xmenu.texi \ $(MANDIR)\new-users-guide\enter.texi \ - - -$(INFODIR)\internals.info: $(MANDIR)\internals\internals.texi - copy $(MANDIR)\internals\index.perm $(MANDIR)\internals\index.texi - $(MAKEINFO) $** - -$(MANDIR)\internals\internals.texi: \ - $(MANDIR)\internals\index.unperm \ - $(MANDIR)\internals\index.perm \ - - -info: $(INFO_FILES) + $(MANDIR)\new-users-guide\files.texi \ + $(MANDIR)\new-users-guide\help.texi \ + $(MANDIR)\new-users-guide\modes.texi \ + $(MANDIR)\new-users-guide\new-users-guide.texi \ + $(MANDIR)\new-users-guide\region.texi \ + $(MANDIR)\new-users-guide\search.texi \ + $(MANDIR)\new-users-guide\xmenu.texi + +$(INFODIR)\xemacs.info: $(XEMACS_SRCS) + cd $(MANDIR)\xemacs + $(MAKEINFO) xemacs.texi + cd .. + + +$(INFODIR)\lispref.info: $(LISPREF_SRCS) + cd $(MANDIR)\lispref + $(MAKEINFO) lispref.texi + cd .. + +$(INFODIR)\internals.info: $(INTERNALS_SRCS) + cd $(MANDIR)\internals + $(MAKEINFO) internals.texi + cd .. + +$(INFODIR)\new-users-guide.info: $(NEW_USERS_GUIDE_SRCS) + cd $(MANDIR)\new-users-guide + $(MAKEINFO) new-users-guide.texi + cd .. + +info: makeinfo-test $(INFO_FILES) + +makeinfo-test: + @<$(TEMACS_DIR)\SATISFIED cd $(TEMACS_DIR) set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH) + set EMACSBOOTSTRAPMODULEPATH=$(MODULES) -1 $(TEMACS) -batch -l $(TEMACS_DIR)\..\lisp\loadup.el dump - @cd $(NT) +!if $(USE_PORTABLE_DUMPER) + copy temacs.exe xemacs.exe +!endif + cd $(NT) @if not exist $(TEMACS_DIR)\SATISFIED nmake -nologo -f xemacs.mak $@ - #------------------------------------------------------------------------------ # use this rule to build the complete system -all: $(XEMACS)\Installation $(OUTDIR)\nul $(LASTFILE) $(LWLIB) $(LIB_SRC_TOOLS) $(RUNEMACS) \ - $(TEMACS) update-elc $(DOC) dump-xemacs info +all: $(XEMACS)\Installation $(OUTDIR)\nul $(LASTFILE) $(LWLIB) \ + $(LIB_SRC_TOOLS) $(RUNEMACS) $(TEMACS) update-elc $(DOC) dump-xemacs \ + $(LISP)/auto-autoloads.el $(LISP)/custom-load.el info -temacs: $(TEMACS) +temacs: $(LASTFILE) $(TEMACS) # use this rule to install the system install: all + cd $(NT) @echo Installing in $(INSTALL_DIR) ... @echo PlaceHolder > PlaceHolder @xcopy /q PROBLEMS "$(INSTALL_DIR)\" @xcopy /q PlaceHolder "$(INSTALL_DIR)\lock\" - @del "$(INSTALL_DIR)\lock\PlaceHolder" + @$(DEL) "$(INSTALL_DIR)\lock\PlaceHolder" @xcopy /q $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\" @copy $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)" @copy $(CONFIG_VALUES) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)" @@ -1145,53 +1289,60 @@ install: all @xcopy /e /q $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\" @echo Making skeleton package tree in $(PACKAGE_PREFIX) ... @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\site-packages\" - @del "$(PACKAGE_PREFIX)\site-packages\PlaceHolder" + @$(DEL) "$(PACKAGE_PREFIX)\site-packages\PlaceHolder" @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\mule-packages\" - @del "$(PACKAGE_PREFIX)\mule-packages\PlaceHolder" + @$(DEL) "$(PACKAGE_PREFIX)\mule-packages\PlaceHolder" @xcopy /q PlaceHolder "$(PACKAGE_PREFIX)\xemacs-packages\" - @del "$(PACKAGE_PREFIX)\xemacs-packages\PlaceHolder" - @del PlaceHolder + @$(DEL) "$(PACKAGE_PREFIX)\xemacs-packages\PlaceHolder" + @$(DEL) PlaceHolder distclean: - del *.bak - del *.orig - del *.rej - del *.tmp - del $(XEMACS)\Installation + $(DEL) *.bak + $(DEL) *.orig + $(DEL) *.rej + $(DEL) *.tmp + $(DEL) $(XEMACS)\Installation cd $(OUTDIR) - del *.lib - del *.obj - del *.pdb - del *.res - del *.sbr + $(DEL) *.lib + $(DEL) *.obj + $(DEL) *.pdb + $(DEL) *.res + $(DEL) *.sbr cd $(XEMACS)\$(TEMACS_DIR) - del config.h - del paths.h - del Emacs.ad.h - del *.bak - del *.orig - del *.rej - del *.exe - del *.map - del *.bsc - del *.pdb + $(DEL) config.h + $(DEL) paths.h + $(DEL) Emacs.ad.h + $(DEL) *.bak + $(DEL) *.orig + $(DEL) *.rej + $(DEL) *.exe + $(DEL) *.map + $(DEL) *.bsc + $(DEL) *.pdb cd $(LIB_SRC) - del DOC - del *.bak - del *.orig - del *.rej - del *.exe - del *.obj - del *.pdb - del *.res - del $(CONFIG_VALUES) + $(DEL) DOC + $(DEL) *.bak + $(DEL) *.orig + $(DEL) *.rej + $(DEL) *.exe + $(DEL) *.obj + $(DEL) *.pdb + $(DEL) *.res + $(DEL) $(CONFIG_VALUES) cd $(LISP) - -del /s /q *.bak *.elc *.orig *.rej + $(DEL) /s /q *.bak *.elc *.orig *.rej cd $(INFODIR) - del *.info* $(MANDIR)\internals\index.texi $(MANDIR)\lispref\index.texi + $(DEL) *.info* depend: - mkdepend -f xemacs.mak -p$(OUTDIR)\ -o.obj -w9999 -- $(TEMACS_CPP_FLAGS) -- $(DOC_SRC1) $(DOC_SRC2) $(DOC_SRC3) $(DOC_SRC4) $(DOC_SRC5) $(DOC_SRC6) $(DOC_SRC7) $(DOC_SRC8) $(DOC_SRC9) $(LASTFILE_SRC)\lastfile.c $(LIB_SRC)\make-docfile.c $(LIB_SRC)\run.c + cd $(SRCDIR) + perl ./make-src-depend > depend.tmp + perl -MFile::Compare -e "compare('depend.tmp', 'depend') && rename('depend.tmp', 'depend') or unlink('depend.tmp')" + +installation:: + @if exist $(XEMACS)\Installation del $(XEMACS)\Installation + +installation:: $(XEMACS)\Installation $(XEMACS)\Installation: @type > $(XEMACS)\Installation << @@ -1257,6 +1408,9 @@ XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename:"=\") configured for `$(EMACS_ !if $(HAVE_DIALOGS) Compiling in support for dialogs. !endif +!if $(HAVE_WIDGETS) + Compiling in support for widgets. +!endif !if $(HAVE_NATIVE_SOUND) Compiling in support for native sounds. !endif @@ -1278,6 +1432,15 @@ XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename:"=\") configured for `$(EMACS_ !if $(USE_UNION_TYPE) Using union type for Lisp object storage. !endif +!if $(USE_PORTABLE_DUMPER) + Using portable dumper. +!endif +!if $(USE_SYSTEM_MALLOC) + Using system malloc. +!endif +!if $(USE_CRTDLL) + Using DLL version of C runtime library +!endif !if $(DEBUG_XEMACS) Compiling in extra debug checks. XEmacs will be slow! !endif @@ -1286,5 +1449,21 @@ XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename:"=\") configured for `$(EMACS_ @type $(XEMACS)\Installation @echo -------------------------------------------------------------------- +# Update auto-autoloads.el and custom-load.el similar to what +# XEmacs.rules does for xemacs-packages. +VANILLA=-vanilla +FORCE: +$(LISP)\auto-autoloads.el: FORCE + @$(DEL) $(LISP)\auto-autoloads.el + $(PROGNAME) $(VANILLA) -batch \ + -l autoload -f batch-update-directory $(LISP) + $(PROGNAME) $(VANILLA) -batch \ + -f batch-byte-compile $@ + @$(DEL) $(LISP)\auto-autoloads.el~ + +$(LISP)\custom-load.el: FORCE + $(PROGNAME) $(VANILLA) -batch -l cus-dep \ + -f Custom-make-dependencies $(LISP) + # DO NOT DELETE THIS LINE -- make depend depends on it.