XEmacs 21.2.6
[chise/xemacs-chise.git.1] / nt / xemacs.mak
index ee3b96a..c3ff3bb 100644 (file)
@@ -82,6 +82,18 @@ HAVE_MULE=0
 !if !defined(HAVE_XPM)
 HAVE_XPM=0
 !endif
 !if !defined(HAVE_XPM)
 HAVE_XPM=0
 !endif
+!if !defined(HAVE_PNG)
+HAVE_PNG=0
+!endif
+!if !defined(HAVE_TIFF)
+HAVE_TIFF=0
+!endif
+!if !defined(HAVE_JPEG)
+HAVE_JPEG=0
+!endif
+!if !defined(HAVE_GIF)
+HAVE_GIF=1
+!endif
 !if !defined(HAVE_TOOLBARS)
 HAVE_TOOLBARS=$(HAVE_XPM)
 !endif
 !if !defined(HAVE_TOOLBARS)
 HAVE_TOOLBARS=$(HAVE_XPM)
 !endif
@@ -152,6 +164,38 @@ CONFIG_ERROR=1
 !message Specified XPM directory does not contain "$(XPM_DIR)\lib\Xpm.lib"
 CONFIG_ERROR=1
 !endif
 !message Specified XPM directory does not contain "$(XPM_DIR)\lib\Xpm.lib"
 CONFIG_ERROR=1
 !endif
+!if $(HAVE_MSW) && $(HAVE_PNG) && !defined(PNG_DIR)
+!message Please specify root directory for your PNG installation: PNG_DIR=path
+CONFIG_ERROR=1
+!endif
+!if $(HAVE_MSW) && $(HAVE_PNG) && defined(PNG_DIR) && !exist("$(PNG_DIR)\libpng.lib")
+!message Specified PNG directory does not contain "$(PNG_DIR)\libpng.lib"
+CONFIG_ERROR=1
+!endif
+!if $(HAVE_MSW) && $(HAVE_PNG) && !defined(ZLIB_DIR)
+!message Please specify root directory for your ZLIB installation: ZLIB_DIR=path
+CONFIG_ERROR=1
+!endif
+!if $(HAVE_MSW) && $(HAVE_PNG) && defined(ZLIB_DIR) && !exist("$(ZLIB_DIR)\zlib.lib")
+!message Specified ZLIB directory does not contain "$(ZLIB_DIR)\zlib.lib"
+CONFIG_ERROR=1
+!endif
+!if $(HAVE_MSW) && $(HAVE_TIFF) && !defined(TIFF_DIR)
+!message Please specify root directory for your TIFF installation: TIFF_DIR=path
+CONFIG_ERROR=1
+!endif
+!if $(HAVE_MSW) && $(HAVE_TIFF) && !exist("$(TIFF_DIR)\libtiff\libtiff.lib")
+!message Specified TIFF directory does not contain "$(TIFF_DIR)\libtiff\libtiff.lib"
+CONFIG_ERROR=1
+!endif
+!if $(HAVE_MSW) && $(HAVE_JPEG) && !defined(JPEG_DIR)
+!message Please specify root directory for your JPEG installation: JPEG_DIR=path
+CONFIG_ERROR=1
+!endif
+!if $(HAVE_MSW) && $(HAVE_JPEG) && !exist("$(JPEG_DIR)\libjpeg.lib")
+!message Specified JPEG directory does not contain "$(JPEG_DIR)\libjpeg.lib"
+CONFIG_ERROR=1
+!endif
 !if $(HAVE_MSW) && $(HAVE_TOOLBARS) && !$(HAVE_XPM)
 !error Toolbars require XPM support
 CONFIG_ERROR=1
 !if $(HAVE_MSW) && $(HAVE_TOOLBARS) && !$(HAVE_XPM)
 !error Toolbars require XPM support
 CONFIG_ERROR=1
@@ -175,7 +219,7 @@ USE_INDEXED_LRECORD_IMPLEMENTATION=$(GUNG_HO)
 !if [set CONF_REPORT_ALREADY_PRINTED=1]
 !endif
 !message ------------------------------------------------
 !if [set CONF_REPORT_ALREADY_PRINTED=1]
 !endif
 !message ------------------------------------------------
-!message Configured for "$(EMACS_CONFIGURATION)".
+!message XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename) configured for "$(EMACS_CONFIGURATION)".
 !message 
 !message Installation directory is "$(INSTALL_DIR)".
 !message Package path is $(PATH_PACKAGEPATH).
 !message 
 !message Installation directory is "$(INSTALL_DIR)".
 !message Package path is $(PATH_PACKAGEPATH).
@@ -195,6 +239,18 @@ USE_INDEXED_LRECORD_IMPLEMENTATION=$(GUNG_HO)
 !if $(HAVE_XPM)
 !message Compiling in support for XPM images.
 !endif
 !if $(HAVE_XPM)
 !message Compiling in support for XPM images.
 !endif
+!if $(HAVE_GIF)
+!message Compiling in support for GIF images.
+!endif
+!if $(HAVE_PNG)
+!message Compiling in support for PNG images.
+!endif
+!if $(HAVE_TIFF)
+!message Compiling in support for TIFF images.
+!endif
+!if $(HAVE_JPEG)
+!message Compiling in support for JPEG images.
+!endif
 !if $(HAVE_TOOLBARS)
 !message Compiling in support for toolbars.
 !endif
 !if $(HAVE_TOOLBARS)
 !message Compiling in support for toolbars.
 !endif
@@ -266,6 +322,26 @@ MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XPM -DFOR_MSW
 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib"
 MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib"
 !endif
 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib"
 MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib"
 !endif
+!if $(HAVE_GIF)
+MSW_DEFINES=$(MSW_DEFINES) -DHAVE_GIF
+MSW_GIF_SRC=$(XEMACS)\src\dgif_lib.c $(XEMACS)\src\gif_io.c
+MSW_GIF_OBJ=$(OUTDIR)\dgif_lib.obj $(OUTDIR)\gif_io.obj
+!endif
+!if $(HAVE_PNG)
+MSW_DEFINES=$(MSW_DEFINES) -DHAVE_PNG
+MSW_INCLUDES=$(MSW_INCLUDES) -I"$(PNG_DIR)" -I"$(ZLIB_DIR)"
+MSW_LIBS=$(MSW_LIBS) "$(PNG_DIR)\libpng.lib" "$(ZLIB_DIR)\zlib.lib"
+!endif
+!if $(HAVE_TIFF)
+MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TIFF
+MSW_INCLUDES=$(MSW_INCLUDES) -I"$(TIFF_DIR)\libtiff"
+MSW_LIBS=$(MSW_LIBS) "$(TIFF_DIR)\libtiff\libtiff.lib"
+!endif
+!if $(HAVE_JPEG)
+MSW_DEFINES=$(MSW_DEFINES) -DHAVE_JPEG
+MSW_INCLUDES=$(MSW_INCLUDES) -I"$(JPEG_DIR)"
+MSW_LIBS=$(MSW_LIBS) "$(JPEG_DIR)\libjpeg.lib"
+!endif
 !if $(HAVE_TOOLBARS)
 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
 MSW_TOOLBAR_SRC=$(XEMACS)\src\toolbar.c $(XEMACS)\src\toolbar-msw.c
 !if $(HAVE_TOOLBARS)
 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
 MSW_TOOLBAR_SRC=$(XEMACS)\src\toolbar.c $(XEMACS)\src\toolbar-msw.c
@@ -322,6 +398,47 @@ DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \
 
 OUTDIR=obj
 
 
 OUTDIR=obj
 
+#
+# Creating simplified versions of Installation and Installation.el
+#
+# Some values cannot be written on the same line with
+# their key, since they cannot be put inside an echo command.
+# Macro substitution (:"=\", :\=\\) can be performed on values in order
+# to create a legal string in LISP for Installation.el.
+#
+!if [echo OS: $(OS)>Installation] ||\
+[echo XEmacs $(XEMACS_VERSION_STRING) $(xemacs_codename:"=\") configured for ^`$(EMACS_CONFIGURATION)^'.>>Installation] ||\
+[echo Where should the build process find the source code?>>Installation] ||\
+[echo $(MAKEDIR:\=\\)>>Installation]
+!endif
+# Compiler Information
+!if defined(CCV) &&\
+[echo What compiler should XEmacs be built with?>>Installation] &&\
+[echo $(CCV)>>Installation]
+!endif
+# Window System Information
+!if [echo What window system should XEmacs use?>>Installation]
+!endif
+!if (defined (HAVE_X) && $(HAVE_X) == 1)
+!if [echo X11>>Installation]
+!endif
+!endif
+!if (defined (HAVE_MSW) && $(HAVE_MSW) == 1)
+!if [echo MS Windows>>Installation]
+!endif
+!endif
+!if (!defined (HAVE_MSW) && !defined (HAVE_X))
+!if [echo Please specify at least one HAVE_MSW^=1 and^/or HAVE_X^=1>>Installation]
+!endif
+!endif
+# Creation of Installation.el
+!if [type Installation] ||\
+[echo (setq Installation-string ^">Installation.el] ||\
+[type Installation >>Installation.el] ||\
+[echo ^")>>Installation.el]
+!endif
+
+
 #------------------------------------------------------------------------------
 
 default: $(OUTDIR)\nul all 
 #------------------------------------------------------------------------------
 
 default: $(OUTDIR)\nul all 
@@ -354,6 +471,29 @@ $(XEMACS)\src\puresize-adjust.h:   puresize-adjust.h
 LIB_SRC = $(XEMACS)\lib-src
 LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32 -DWINDOWSNT
 
 LIB_SRC = $(XEMACS)\lib-src
 LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32 -DWINDOWSNT
 
+#
+# Creating config.values to be used by config.el
+#
+CONFIG_VALUES = $(LIB_SRC)\config.values
+!if [echo Creating $(CONFIG_VALUES) && echo ;;; Do not edit this file!>$(CONFIG_VALUES)]
+!endif
+# MAKEDIR has to be made into a string.
+!if [echo blddir>>$(CONFIG_VALUES) && echo ^"$(MAKEDIR:\=\\)\\..^">>$(CONFIG_VALUES)]
+!endif
+!if [echo CC>>$(CONFIG_VALUES) && echo ^"$(CC:\=\\)^">>$(CONFIG_VALUES)]
+!endif
+!if [echo CFLAGS>>$(CONFIG_VALUES) && echo ^"$(CFLAGS:\=\\)^">>$(CONFIG_VALUES)]
+!endif
+!if [echo CPP>>$(CONFIG_VALUES) && echo ^"$(CPP:\=\\)^">>$(CONFIG_VALUES)]
+!endif
+!if [echo CPPFLAGS>>$(CONFIG_VALUES) && echo ^"$(CPPFLAGS:\=\\)^">>$(CONFIG_VALUES)]
+!endif
+!if [echo LISPDIR>>$(CONFIG_VALUES) && echo ^"$(MAKEDIR:\=\\)\\$(LISP:\=\\)^">>$(CONFIG_VALUES)]
+!endif
+# PATH_PACKAGEPATH is already a quoted string.
+!if [echo PACKAGE_PATH>>$(CONFIG_VALUES) && echo $(PATH_PACKAGEPATH)>>$(CONFIG_VALUES)]
+!endif
+
 # Inferred rule
 {$(LIB_SRC)}.c{$(LIB_SRC)}.exe :
        @cd $(LIB_SRC)
 # Inferred rule
 {$(LIB_SRC)}.c{$(LIB_SRC)}.exe :
        @cd $(LIB_SRC)
@@ -363,7 +503,7 @@ LIB_SRC_DEFINES = -DHAVE_CONFIG_H -DWIN32 -DWINDOWSNT
 # 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)
 # 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)
-#### ootags???
+$(LIB_SRC)/movemail.exe: $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS)
 
 LIB_SRC_TOOLS = \
        $(LIB_SRC)/make-docfile.exe     \
 
 LIB_SRC_TOOLS = \
        $(LIB_SRC)/make-docfile.exe     \
@@ -482,7 +622,6 @@ DOC_SRC2=\
  $(XEMACS)\src\faces.c \
  $(XEMACS)\src\file-coding.c \
  $(XEMACS)\src\fileio.c \
  $(XEMACS)\src\faces.c \
  $(XEMACS)\src\file-coding.c \
  $(XEMACS)\src\fileio.c \
- $(XEMACS)\src\filelock.c \
  $(XEMACS)\src\filemode.c \
  $(XEMACS)\src\floatfns.c \
  $(XEMACS)\src\fns.c 
  $(XEMACS)\src\filemode.c \
  $(XEMACS)\src\floatfns.c \
  $(XEMACS)\src\fns.c 
@@ -520,7 +659,6 @@ DOC_SRC4=\
  $(XEMACS)\src\process.c \
  $(XEMACS)\src\process-nt.c \
  $(XEMACS)\src\profile.c \
  $(XEMACS)\src\process.c \
  $(XEMACS)\src\process-nt.c \
  $(XEMACS)\src\profile.c \
- $(XEMACS)\src\pure.c \
  $(XEMACS)\src\rangetab.c \
  $(XEMACS)\src\realpath.c \
  $(XEMACS)\src\redisplay-output.c \
  $(XEMACS)\src\rangetab.c \
  $(XEMACS)\src\realpath.c \
  $(XEMACS)\src\redisplay-output.c \
@@ -584,7 +722,8 @@ DOC_SRC7=\
  $(XEMACS)\src\select-msw.c \
  $(MSW_C_DIRED_SRC) \
  $(MSW_TOOLBAR_SRC) \
  $(XEMACS)\src\select-msw.c \
  $(MSW_C_DIRED_SRC) \
  $(MSW_TOOLBAR_SRC) \
- $(MSW_DIALOG_SRC)
+ $(MSW_DIALOG_SRC) \
+ $(MSW_GIF_SRC)
 !endif
 
 !if $(HAVE_MULE)
 !endif
 
 !if $(HAVE_MULE)
@@ -670,10 +809,10 @@ TEMACS_MSW_OBJS=\
        $(OUTDIR)\select-msw.obj \
        $(MSW_C_DIRED_OBJ) \
        $(MSW_TOOLBAR_OBJ) \
        $(OUTDIR)\select-msw.obj \
        $(MSW_C_DIRED_OBJ) \
        $(MSW_TOOLBAR_OBJ) \
-       $(MSW_DIALOG_OBJ)
+       $(MSW_DIALOG_OBJ) \
+       $(MSW_GIF_OBJ)
 !endif
 
 !endif
 
-
 !if $(HAVE_MULE)
 TEMACS_MULE_OBJS=\
        $(OUTDIR)\input-method-xlib.obj \
 !if $(HAVE_MULE)
 TEMACS_MULE_OBJS=\
        $(OUTDIR)\input-method-xlib.obj \
@@ -726,7 +865,6 @@ TEMACS_OBJS= \
        $(OUTDIR)\faces.obj \
        $(OUTDIR)\file-coding.obj \
        $(OUTDIR)\fileio.obj \
        $(OUTDIR)\faces.obj \
        $(OUTDIR)\file-coding.obj \
        $(OUTDIR)\fileio.obj \
-       $(OUTDIR)\filelock.obj \
        $(OUTDIR)\filemode.obj \
        $(OUTDIR)\floatfns.obj \
        $(OUTDIR)\fns.obj \
        $(OUTDIR)\filemode.obj \
        $(OUTDIR)\floatfns.obj \
        $(OUTDIR)\fns.obj \
@@ -762,7 +900,6 @@ TEMACS_OBJS= \
        $(OUTDIR)\process.obj \
        $(OUTDIR)\process-nt.obj \
        $(OUTDIR)\profile.obj \
        $(OUTDIR)\process.obj \
        $(OUTDIR)\process-nt.obj \
        $(OUTDIR)\profile.obj \
-       $(OUTDIR)\pure.obj \
        $(OUTDIR)\rangetab.obj \
        $(OUTDIR)\realpath.obj \
        $(OUTDIR)\redisplay-output.obj \
        $(OUTDIR)\rangetab.obj \
        $(OUTDIR)\realpath.obj \
        $(OUTDIR)\redisplay-output.obj \
@@ -800,7 +937,7 @@ $(OUTDIR)\TopLevelEmacsShell.obj:   $(TEMACS_SRC)\EmacsShell-sub.c
 $(OUTDIR)\TransientEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
        $(CCV) $(TEMACS_FLAGS) -DDEFINE_TRANSIENT_EMACS_SHELL $** -Fo$@
 
 $(OUTDIR)\TransientEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c
        $(CCV) $(TEMACS_FLAGS) -DDEFINE_TRANSIENT_EMACS_SHELL $** -Fo$@
 
-$(OUTDIR)\pure.obj: $(TEMACS_SRC)\pure.c $(TEMACS_SRC)\puresize-adjust.h
+$(OUTDIR)\alloc.obj: $(TEMACS_SRC)\alloc.c $(TEMACS_SRC)\puresize-adjust.h
 
 #$(TEMACS_SRC)\Emacs.ad.h: $(XEMACS)\etc\Emacs.ad
 #      !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h"
 
 #$(TEMACS_SRC)\Emacs.ad.h: $(XEMACS)\etc\Emacs.ad
 #      !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h"
@@ -867,21 +1004,20 @@ all:     $(OUTDIR)\nul $(LASTFILE) $(LWLIB) $(LIB_SRC_TOOLS) $(RUNEMACS) \
 temacs: $(TEMACS)
 
 # use this rule to install the system
 temacs: $(TEMACS)
 
 # use this rule to install the system
-install:       all "$(INSTALL_DIR)\nul" "$(INSTALL_DIR)\lock\nul"
+install:       all
+       @echo Installing in $(INSTALL_DIR) ...
+       @xcopy /q PROBLEMS "$(INSTALL_DIR)\"
+       @xcopy /q README "$(INSTALL_DIR)\lock\"
+       @del "$(INSTALL_DIR)\lock\README"
        @xcopy /q $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
        @xcopy /q $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
-       @copy $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
-       @copy $(XEMACS)\src\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
-       @copy $(RUNEMACS) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\"
+       @copy $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
+       @copy $(CONFIG_VALUES) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
+       @copy $(XEMACS)\src\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
+       @copy $(RUNEMACS) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)"
        @xcopy /e /q $(XEMACS)\etc  "$(INSTALL_DIR)\etc\"
        @xcopy /e /q $(XEMACS)\info "$(INSTALL_DIR)\info\"
        @xcopy /e /q $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\"
 
        @xcopy /e /q $(XEMACS)\etc  "$(INSTALL_DIR)\etc\"
        @xcopy /e /q $(XEMACS)\info "$(INSTALL_DIR)\info\"
        @xcopy /e /q $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\"
 
-"$(INSTALL_DIR)\nul":
-       -@mkdir "$(INSTALL_DIR)"
-
-"$(INSTALL_DIR)\lock\nul":     "$(INSTALL_DIR)\nul"
-       -@mkdir "$(INSTALL_DIR)\lock"
-
 distclean:
        del *.bak
        del *.orig
 distclean:
        del *.bak
        del *.orig
@@ -910,6 +1046,7 @@ distclean:
        del *.orig
        del *.rej
        del *.exe
        del *.orig
        del *.rej
        del *.exe
+       del $(CONFIG_VALUES)
        cd $(LISP)
        -del /s /q *.bak *.elc *.orig *.rej
 
        cd $(LISP)
        -del /s /q *.bak *.elc *.orig *.rej