X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=nt%2Fxemacs.mak;h=f081407fbf2ce657be6f9ecf0a4298b3fde3c45b;hb=b0374caf569a1f87940d2e2996d5bba7dea8f48b;hp=ca54812fa64abc23169bd7b7004b527a7157cacb;hpb=a1655b870904de973c366d85ebdc8adde4ef5e1e;p=chise%2Fxemacs-chise.git diff --git a/nt/xemacs.mak b/nt/xemacs.mak index ca54812..f081407 100644 --- a/nt/xemacs.mak +++ b/nt/xemacs.mak @@ -1,6 +1,6 @@ # Makefile for Microsoft NMAKE # Copyright (C) 1995 Board of Trustees, University of Illinois. -# Copyright (C) 1995, 1996 Ben Wing. +# Copyright (C) 1995, 1996, 2000 Ben Wing. # Copyright (C) 1995 Sun Microsystems, Inc. # Copyright (C) 1998 Free Software Foundation, Inc. # @@ -26,7 +26,14 @@ default: all -XEMACS=.. +# APA: Since there seems to be no way to determine the directory where +# xemacs.mak is located (from within nmake) we just insist on the user +# to invoke nmake in the directory where xemacs.mak is. +!if !exist("$(MAKEDIR)\xemacs.mak") +!error Please run nmake from the directory of this makefile (xemacs\nt). +!endif + +XEMACS=$(MAKEDIR)\.. LISP=$(XEMACS)\lisp LIB_SRC=$(XEMACS)\lib-src MODULES=$(XEMACS)\modules @@ -297,7 +304,10 @@ DEPEND=0 ! if [if not exist $(OUTDIR)\nul mkdir "$(OUTDIR)"] ! endif # generate an nmake-readable version of depend -! if [perl -p -e "s/^\x23ifdef (.+)/!if defined($$1)/; s/^\x23e/!e/;" \ +# #### here, it doesn't seem to matter if we double ^'s! +# results are the same with all single ^ and all double ^^! +# see comment below. +! if [perl -p -e "s/^\x23if defined(.+)/!if defined$$1/; s/^\x23e/!e/;" \ -e "s/([\s=^])([\w\d\.\-^]+\.[ch^])/$$1$(SRC:\=\\)\\$$2/g;" \ -e "s/^(.+)\.o:(.+)/$(OUTDIR:\=\\)\\$$1.obj:$$2 $(NT:\=\\)\\config.inc/;" \ < $(SRC)\depend > $(OUTDIR)\depend.tmp] @@ -455,7 +465,7 @@ INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(NT)\inc -I$(SRC) -I$(LWLIB_SRCDIR) DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \ $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \ $(DUMPER_DEFINES) $(MALLOC_DEFINES) $(QUICK_DEFINES) \ - -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \ + -DWIN32_LEAN_AND_MEAN -DWIN32_NATIVE -Demacs \ -DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES) #------------------------------------------------------------------------------ @@ -481,7 +491,7 @@ $(SRC)\paths.h: paths.h # lib-src programs -LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32 -DWINDOWSNT +LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32_NATIVE # # Creating config.values to be used by config.el @@ -549,18 +559,6 @@ minitar: $(LIB_SRC)/minitar.exe #------------------------------------------------------------------------------ -# runxemacs proglet - -RUNEMACS = $(SRC)\runxemacs.exe - -$(RUNEMACS): $(LIB_SRC)\run.c $(LIB_SRC)\run.res - $(CCV) -I$(LIB_SRC) $(CFLAGS) -Fe$@ -Fo$(LIB_SRC) -Fd$(LIB_SRC)\ $** kernel32.lib user32.lib -link -incremental:no - -$(LIB_SRC)\run.res: $(LIB_SRC)\run.rc - rc -I$(LIB_SRC) -Fo$@ $** - -#------------------------------------------------------------------------------ - # dump-id.c file that contains the dump id $(SRC)\dump-id.c : $(LIB_SRC)/make-dump-id.exe @@ -639,7 +637,6 @@ DOC=$(LIB_SRC)\DOC DOC_SRC1=\ $(SRC)\abbrev.c \ $(SRC)\alloc.c \ - $(SRC)\alloca.c \ $(SRC)\blocktype.c \ $(SRC)\buffer.c \ $(SRC)\bytecode.c \ @@ -677,6 +674,7 @@ DOC_SRC3=\ $(SRC)\font-lock.c \ $(SRC)\frame.c \ $(SRC)\general.c \ + $(SRC)\getloadavg.c \ $(SRC)\glyphs.c \ $(SRC)\glyphs-eimage.c \ $(SRC)\glyphs-widget.c \ @@ -726,6 +724,7 @@ DOC_SRC5=\ $(SRC)\tparam.c \ $(SRC)\undo.c \ $(SRC)\window.c \ + $(SRC)\win32.c \ $(SRC)\widget.c !if $(HAVE_X_WINDOWS) @@ -824,12 +823,12 @@ TEMACS=$(TEMACS_DIR)\temacs.exe TEMACS_BROWSE=$(TEMACS_DIR)\temacs.bsc TEMACS_SRC=$(SRC) TEMACS_LIBS=$(LASTFILE) $(LWLIB) $(X_LIBS) $(MSW_LIBS) \ - oldnames.lib kernel32.lib user32.lib gdi32.lib advapi32.lib \ + oldnames.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib \ shell32.lib wsock32.lib winmm.lib winspool.lib ole32.lib uuid.lib $(LIBC_LIB) TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS) -base:0x1000000\ -stack:0x800000 $(TEMACS_ENTRYPOINT) -subsystem:windows\ -pdb:$(TEMACS_DIR)\temacs.pdb -map:$(TEMACS_DIR)\temacs.map \ - -heap:0x00100000 -nodefaultlib -incremental:no + -heap:0x00100000 -nodefaultlib -incremental:no setargv.obj TEMACS_CPP_FLAGS=-c \ $(CFLAGS) $(INCLUDES) $(DEFINES) $(DEBUG_DEFINES) \ -DEMACS_MAJOR_VERSION=$(emacs_major_version) \ @@ -926,7 +925,6 @@ TEMACS_OBJS= \ $(TEMACS_DUMP_OBJS)\ $(OUTDIR)\abbrev.obj \ $(OUTDIR)\alloc.obj \ - $(OUTDIR)\alloca.obj \ $(OUTDIR)\blocktype.obj \ $(OUTDIR)\buffer.obj \ $(OUTDIR)\bytecode.obj \ @@ -962,6 +960,7 @@ TEMACS_OBJS= \ $(OUTDIR)\font-lock.obj \ $(OUTDIR)\frame.obj \ $(OUTDIR)\general.obj \ + $(OUTDIR)\getloadavg.obj \ $(OUTDIR)\glyphs.obj \ $(OUTDIR)\glyphs-eimage.obj \ $(OUTDIR)\glyphs-widget.obj \ @@ -1008,7 +1007,8 @@ TEMACS_OBJS= \ $(OUTDIR)\tparam.obj \ $(OUTDIR)\undo.obj \ $(OUTDIR)\widget.obj \ - $(OUTDIR)\window.obj + $(OUTDIR)\window.obj \ + $(OUTDIR)\win32.obj # Rules @@ -1104,8 +1104,10 @@ tags: cd $(XEMACS) $(DEL) TAGS set PATH=lib-src;%PATH% -# argh!!! we need two ^^'s to get one ^, but only before a backslash. -# i have no idea why. probably some obscure nmake quoting convention. +# we need to double ^, but only before backslash! Doubling it elsewhere +# causes problems. I don't understand this -- CMD.EXE uses ^ as a quoting +# convention of sorts, but appears to leave it alone inside of double quotes, +# even before \. Could this be nmake interference? etags -a -r "/[ ]*DEF\(VAR\|INE\)_[A-Z_]+[ ]*([ ]*\"\([^^\"]+\)\"/\2/" src\*.c src\*.h lwlib\*.c lwlib\*.h lib-src\*.c lib-src\*.h etags -a -l none -r "/^(def\(var\|un\|alias\|const\|macro\|subst\|struct\|face\|group\|custom\|ine-\(function\|compiler-macro\|[a-z-]+alias\)\)[ ]+'?\([^ ]+\)/\3/" $(tagslisp)\*.el @@ -1297,11 +1299,11 @@ makeinfo-test: if exist "$(MAKEINFO)" goto test_done @$(XEMACS_BATCH) -eval "(condition-case nil (require (quote texinfo)) (t (kill-emacs 1)))" @if not errorlevel 1 goto suggest_makeinfo -@echo XEmacs `info' cannot be built! -@echo Install XEmacs package `texinfo' (see README.packages). +@echo XEmacs 'info' cannot be built! +@echo Install XEmacs package 'texinfo' (see README.packages). :suggest_makeinfo @echo Consider specifying path to makeinfo program: MAKEINFO=path -@echo as this will build info docs faster than XEmacs using `texinfo'. +@echo as this will build info docs faster than XEmacs using 'texinfo'. @if errorlevel 1 exit 1 :test_done <