Added nt/Makefile.in and appropriate tweaks to configure.ac.
Added emacsclient.res support to lib-src/. Fixed temacs and dumping commands in src/Makefile.in. Miscellaneous fixes all over the place. Not tried to build yet.
This commit is contained in:
parent
a74b0e1bdf
commit
095bf25383
5 changed files with 294 additions and 24 deletions
15
Makefile.in
15
Makefile.in
|
@ -93,6 +93,9 @@ version=@version@
|
|||
### for, like `mips-dec-ultrix' or `sparc-sun-sunos'.
|
||||
configuration=@configuration@
|
||||
|
||||
### The nt/ subdirectory gets built only for MinGW
|
||||
NTDIR=@NTDIR@
|
||||
|
||||
# ==================== Where To Install Things ====================
|
||||
|
||||
# Location to install Emacs.app under GNUstep / Mac OS X.
|
||||
|
@ -271,17 +274,17 @@ EMACS = ${EMACS_NAME}${EXEEXT}
|
|||
EMACSFULL = `echo emacs-${version} | sed '$(TRANSFORM)'`${EXEEXT}
|
||||
|
||||
# Subdirectories to make recursively.
|
||||
SUBDIR = lib lib-src src lisp leim
|
||||
SUBDIR = lib lib-src src lisp leim $(NTDIR)
|
||||
|
||||
# The subdir makefiles created by config.status.
|
||||
SUBDIR_MAKEFILES_IN = @SUBDIR_MAKEFILES_IN@
|
||||
SUBDIR_MAKEFILES = `echo $(SUBDIR_MAKEFILES_IN:.in=) | sed 's|$(srcdir)/||g'`
|
||||
|
||||
# Subdirectories to install, and where they'll go.
|
||||
# lib-src's makefile knows how to install it, so we don't do that here.
|
||||
# Directories that cannot simply be copied, eg info,
|
||||
# are treated separately.
|
||||
# quail appears twice because in out-of-tree builds, it exists twice.
|
||||
# Subdirectories to install, and where they'll go. lib-src's and nt's
|
||||
# makefiles know how to install them, so we don't do that here.
|
||||
# Directories that cannot simply be copied, eg info, are treated
|
||||
# separately. quail appears twice because in out-of-tree builds, it
|
||||
# exists twice.
|
||||
COPYDIR = ${srcdir}/etc ${srcdir}/lisp ${srcdir}/leim/ja-dic ${srcdir}/leim/quail leim/quail
|
||||
COPYDESTS = $(DESTDIR)${etcdir} $(DESTDIR)${lispdir} $(DESTDIR)${leimdir}/ja-dic $(DESTDIR)${leimdir}/quail $(DESTDIR)${leimdir}/quail
|
||||
|
||||
|
|
52
configure.ac
52
configure.ac
|
@ -1544,8 +1544,10 @@ AC_SUBST(NS_OBJC_OBJ)
|
|||
HAVE_W32=no
|
||||
W32_OBJ=
|
||||
W32_LIBS=
|
||||
W32_RES=
|
||||
EMACSRES=
|
||||
CLIENTRES=
|
||||
W32_RES_LINK=
|
||||
EMACS_MANIFEST=
|
||||
if test "${with_w32}" != no; then
|
||||
if test "${opsys}" != "cygwin"; then
|
||||
if test "${opsys}" != "mingw32"; then
|
||||
|
@ -1573,29 +1575,39 @@ if test "${opsys}" = "mingw32"; then
|
|||
fi
|
||||
fi
|
||||
|
||||
FIRSTFILE_OBJ=
|
||||
if test "${HAVE_W32}" = "yes"; then
|
||||
AC_DEFINE(HAVE_NTGUI, 1, [Define to use native MS Windows GUI.])
|
||||
AC_CHECK_TOOL(WINDRES, [windres],
|
||||
[AC_MSG_ERROR([No resource compiler found.])])
|
||||
W32_OBJ="w32fns.o w32menu.o w32reg.o w32font.o w32term.o"
|
||||
W32_OBJ="$W32_OBJ w32xfns.o w32select.o w32uniscribe.o"
|
||||
EMACSRES="emacs.res"
|
||||
case "$canonical" in
|
||||
x86_64-*-*) EMACS_MANIFEST="emacs-x64.manifest" ;;
|
||||
*) EMACS_MANIFEST="emacs-x86.manifest" ;;
|
||||
esac
|
||||
if test "${opsys}" = "cygwin"; then
|
||||
W32_LIBS="$W32_LIBS -lkernel32 -luser32 -lgdi32 -lole32 -lcomdlg32"
|
||||
W32_LIBS="$W32_LIBS -lusp10 -lcomctl32 -lwinspool"
|
||||
W32_RES="emacs.res"
|
||||
# Tell the linker that emacs.res is an object (which we compile from
|
||||
# the rc file), not a linker script.
|
||||
W32_RES_LINK="-Wl,-bpe-i386 -Wl,emacs.res"
|
||||
else
|
||||
W32_OBJ="$W32_OBJ w32.o w32console.o w32heap.o w32inevt.o w32proc.o"
|
||||
W32_LIBS="$W32_LIBS -lwinmm -lgdi32 -lcomdlg32"
|
||||
W32_LIBS="$W32_LIBS -lmpr -lwinspool -lole32 -lusp10"
|
||||
W32_LIBS="$W32_LIBS -lmpr -lwinspool -lole32 -lcomctl32 -lusp10"
|
||||
CLIENTRES="emacsclient.res"
|
||||
FIRSTFILE_OBJ=firstfile.o
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(W32_OBJ)
|
||||
AC_SUBST(W32_LIBS)
|
||||
AC_SUBST(W32_RES)
|
||||
AC_SUBST(EMACSRES)
|
||||
AC_SUBST(EMACS_MANIFEST)
|
||||
AC_SUBST(CLIENTRES)
|
||||
AC_SUBST(W32_RES_LINK)
|
||||
AC_SUBST(FIRSTFILE_OBJ)
|
||||
|
||||
if test "${HAVE_W32}" = "yes"; then
|
||||
window_system=w32
|
||||
|
@ -4016,6 +4028,9 @@ case $opsys in
|
|||
mingw32)
|
||||
AC_DEFINE(DOS_NT, [])
|
||||
AC_DEFINE(WINDOWSNT, 1, [Define if compiling for native MS Windows.])
|
||||
if test "x$ac_enable_checking" != "x" ; then
|
||||
AC_DEFINE(EMACSDEBUG, 1, [Define to 1 to enable w32 debug facilities.])
|
||||
fi
|
||||
;;
|
||||
|
||||
sol2*)
|
||||
|
@ -4362,7 +4377,7 @@ CFLAGS=$SAVE_CFLAGS
|
|||
LIBS=$SAVE_LIBS
|
||||
|
||||
if test "${opsys}" = "mingw32"; then
|
||||
CPPFLAGS="-DUSE_CRT_DLL=1 -I $srcdir/nt/inc"
|
||||
CPPFLAGS="$CPPFLAGS -DUSE_CRT_DLL=1 -I $srcdir/nt/inc"
|
||||
# Remove unneeded switches from the value of CC that goes to Makefiles
|
||||
CC=`echo $CC | sed -e "s,$GCC_TEST_OPTIONS,,"`
|
||||
fi
|
||||
|
@ -4401,7 +4416,10 @@ case "$opsys" in
|
|||
gnu*) LD_SWITCH_SYSTEM_TEMACS="\$(LD_SWITCH_X_SITE_RPATH)" ;;
|
||||
|
||||
mingw32)
|
||||
LD_SWITCH_SYSTEM_TEMACS="-Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -Wl,-subsystem,console -Wl,-entry,__start -Wl,-Map,./temacs.map"
|
||||
case "$canonical" in
|
||||
x86_64-*-*) LD_SWITCH_SYSTEM_TEMACS="-Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -Wl,-subsystem,console -Wl,-entry,_start -Wl,-Map,./temacs.map" ;;
|
||||
*) LD_SWITCH_SYSTEM_TEMACS="-Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -Wl,-subsystem,console -Wl,-entry,__start -Wl,-Map,./temacs.map" ;;
|
||||
esac
|
||||
;;
|
||||
|
||||
*) LD_SWITCH_SYSTEM_TEMACS= ;;
|
||||
|
@ -4409,6 +4427,24 @@ esac
|
|||
|
||||
AC_SUBST(LD_SWITCH_SYSTEM_TEMACS)
|
||||
|
||||
## MinGW-specific post-link processing of temacs.
|
||||
TEMACS_POST_LINK=":"
|
||||
ADDSECTION=
|
||||
EMACS_HEAPSIZE=
|
||||
if test "${opsys}" = "mingw32"; then
|
||||
TEMACS_POST_LINK="\$(MINGW_TEMACS_POST_LINK)"
|
||||
ADDSECTION="../nt/addsection\$(EXEEXT)"
|
||||
## Preload heap size of temacs.exe in MB.
|
||||
case "$canonical" in
|
||||
x86_64-*-*) EMACS_HEAPSIZE=42 ;;
|
||||
*) EMACS_HEAPSIZE=27 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
AC_SUBST(ADDSECTION)
|
||||
AC_SUBST(TEMACS_POST_LINK)
|
||||
AC_SUBST(EMACS_HEAPSIZE)
|
||||
|
||||
## Common for all window systems
|
||||
if test "$window_system" != "none"; then
|
||||
AC_DEFINE(HAVE_WINDOW_SYSTEM, 1, [Define if you have a window system.])
|
||||
|
@ -4567,12 +4603,12 @@ dnl This will work, but you get a config.status that is not quite right
|
|||
dnl (see http://lists.gnu.org/archive/html/bug-autoconf/2008-08/msg00028.html).
|
||||
dnl That doesn't have any obvious consequences for Emacs, but on the whole
|
||||
dnl it seems better to just live with the duplication.
|
||||
SUBDIR_MAKEFILES="lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile nextstep/Makefile"
|
||||
SUBDIR_MAKEFILES="lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile nextstep/Makefile nt/Makefile"
|
||||
|
||||
AC_CONFIG_FILES([Makefile lib/Makefile lib-src/Makefile oldXMenu/Makefile \
|
||||
doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile \
|
||||
doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile \
|
||||
leim/Makefile nextstep/Makefile])
|
||||
leim/Makefile nextstep/Makefile nt/Makefile])
|
||||
|
||||
dnl test/ is not present in release tarfiles.
|
||||
opt_makefile=test/automated/Makefile
|
||||
|
|
|
@ -172,6 +172,8 @@ LIBS_MOVE = $(LIBS_MAIL) $(KRB4LIB) $(DESLIB) $(KRB5LIB) $(CRYPTOLIB) \
|
|||
|
||||
## Extra object files for linking emacsclient
|
||||
NTLIB = @NTLIB@
|
||||
CLIENTRES = @CLIENTRES@
|
||||
WINDRES = @WINDRES@
|
||||
|
||||
## Some systems define this to request special libraries.
|
||||
LIBS_SYSTEM = @LIBS_SYSTEM@
|
||||
|
@ -339,9 +341,9 @@ movemail${EXEEXT}: ${srcdir}/movemail.c pop.o $(NTLIB) $(config_h)
|
|||
pop.o: ${srcdir}/pop.c ${srcdir}/../lib/min-max.h $(config_h)
|
||||
$(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} ${srcdir}/pop.c
|
||||
|
||||
emacsclient${EXEEXT}: ${srcdir}/emacsclient.c $(NTLIB) $(config_h)
|
||||
emacsclient${EXEEXT}: ${srcdir}/emacsclient.c $(NTLIB) $(CLIENTRES) $(config_h)
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c \
|
||||
-DVERSION="\"${version}\"" $(LIB_WSOCK32) \
|
||||
-DVERSION="\"${version}\"" $(CLIENTRES) $(LIB_WSOCK32) \
|
||||
$(LOADLIBES) $(LIB_FDATASYNC) -o emacsclient${EXEEXT}
|
||||
|
||||
ntlib.o: ${srcdir}/ntlib.c ${srcdir}/ntlib.h
|
||||
|
@ -355,4 +357,7 @@ update-game-score${EXEEXT}: ${srcdir}/update-game-score.c $(NTLIB) $(config_h)
|
|||
${srcdir}/update-game-score.c $(NTLIB) $(LOADLIBES) \
|
||||
-o update-game-score${EXEEXT}
|
||||
|
||||
emacsclient.res: ${srcdir}/nt/emacsclient.rc
|
||||
$(WINDRES) -O coff --include-dir=${srcdir}/nt -o emacscient.res
|
||||
|
||||
## Makefile ends here.
|
||||
|
|
212
nt/Makefile.in
Normal file
212
nt/Makefile.in
Normal file
|
@ -0,0 +1,212 @@
|
|||
# nt/Makefile for GNU Emacs.
|
||||
|
||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||
|
||||
# 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 3 of the License, 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Avoid trouble on systems where the `SHELL' variable might be
|
||||
# inherited from the environment.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# ==================== Things `configure' will edit ====================
|
||||
|
||||
CC=@CC@
|
||||
CFLAGS=@CFLAGS@
|
||||
version=@version@
|
||||
## Used in $archlibdir.
|
||||
configuration=@configuration@
|
||||
EXEEXT=@EXEEXT@
|
||||
C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
|
||||
C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
|
||||
PROFILING_CFLAGS = @PROFILING_CFLAGS@
|
||||
WARN_CFLAGS = @WARN_CFLAGS@
|
||||
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||
|
||||
# Program name transformation.
|
||||
TRANSFORM = @program_transform_name@
|
||||
|
||||
# ==================== Where To Install Things ====================
|
||||
|
||||
# The default location for installation. Everything is placed in
|
||||
# subdirectories of this directory. The default values for many of
|
||||
# the variables below are expressed in terms of this one, so you may
|
||||
# not need to change them. This is set with the --prefix option to
|
||||
# `../configure'.
|
||||
prefix=@prefix@
|
||||
|
||||
# Like `prefix', but used for architecture-specific files. This is
|
||||
# set with the --exec-prefix option to `../configure'.
|
||||
exec_prefix=@exec_prefix@
|
||||
|
||||
# Where to install Emacs and other binaries that people will want to
|
||||
# run directly (like etags). This is set with the --bindir option
|
||||
# to `../configure'.
|
||||
bindir=@bindir@
|
||||
|
||||
# Where to install and expect executable files to be run by Emacs
|
||||
# rather than directly by users, and other architecture-dependent
|
||||
# data. ${archlibdir} is usually below this. This is set with the
|
||||
# --libexecdir option to `../configure'.
|
||||
libexecdir=@libexecdir@
|
||||
|
||||
# Directory for local state files for all programs.
|
||||
localstatedir=@localstatedir@
|
||||
|
||||
# Where to find the source code. This is set by the configure
|
||||
# script's `--srcdir' option. However, the value of ${srcdir} in
|
||||
# this makefile is not identical to what was specified with --srcdir,
|
||||
# since the variable here has `/lib-src' added at the end.
|
||||
|
||||
# We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
|
||||
srcdir=@srcdir@
|
||||
VPATH=@srcdir@
|
||||
|
||||
# The top-level source directory, also set by configure.
|
||||
top_srcdir=@top_srcdir@
|
||||
|
||||
# ==================== Emacs-specific directories ====================
|
||||
|
||||
# These variables hold the values Emacs will actually use. They are
|
||||
# based on the values of the standard Make variables above.
|
||||
|
||||
# Where to put executables to be run by Emacs rather than the user.
|
||||
# This path usually includes the Emacs version and configuration name,
|
||||
# so that multiple configurations for multiple versions of Emacs may
|
||||
# be installed at once. This can be set with the --archlibdir option
|
||||
# to `../configure'.
|
||||
archlibdir=@archlibdir@
|
||||
|
||||
# ==================== Utility Programs for the Build =================
|
||||
|
||||
# ../configure figures out the correct values for these.
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
# By default, we uphold the dignity of our programs.
|
||||
INSTALL_STRIP =
|
||||
MKDIR_P = @MKDIR_P@
|
||||
|
||||
# ========================== Lists of Files ===========================
|
||||
|
||||
# Things that a user might actually run, which should be installed in bindir.
|
||||
INSTALLABLES = runemacs${EXEEXT} addpm${EXEEXT}
|
||||
|
||||
# Things that Emacs runs internally, which should not be installed in bindir.
|
||||
UTILITIES = cmdproxy${EXEEXT} ddeclient${EXEEXT}
|
||||
|
||||
# Things that Emacs runs during the build process.
|
||||
DONT_INSTALL = addsection${EXEEXT}
|
||||
|
||||
# All files that are created by the linker, i.e., whose names end in ${EXEEXT}.
|
||||
EXE_FILES = ${INSTALLABLES} ${UTILITIES} ${DONT_INSTALL}
|
||||
|
||||
# =========================== Configuration ===========================
|
||||
|
||||
# MS-Windows resource files and resource compiler
|
||||
EMACSRES = @EMACSRES@
|
||||
EMACS_MANIFEST = @EMACS_MANIFEST@
|
||||
WINDRES = @WINDRES@
|
||||
|
||||
## Extra libraries to use when linking addpm.
|
||||
LIBS_ADDPM = -lole32 -luuid
|
||||
|
||||
## Compilation and linking flags
|
||||
BASE_CFLAGS = $(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) \
|
||||
$(WARN_CFLAGS) $(WERROR_CFLAGS) \
|
||||
-I. -I${srcdir}
|
||||
|
||||
ALL_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
|
||||
LINK_CFLAGS = ${BASE_CFLAGS} ${LDFLAGS} ${CFLAGS}
|
||||
CPP_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${CPPFLAGS} ${CFLAGS}
|
||||
|
||||
all: ${EXE_FILES}
|
||||
|
||||
.PHONY: all
|
||||
|
||||
## Install the internal utilities. Until they are installed, we can
|
||||
## just run them directly from nt/.
|
||||
$(DESTDIR)${archlibdir}: all
|
||||
@echo
|
||||
@echo "Installing utilities run internally by Emacs."
|
||||
umask 022; ${MKDIR_P} $(DESTDIR)${archlibdir}
|
||||
if [ `cd $(DESTDIR)${archlibdir} && /bin/pwd` != `/bin/pwd` ]; then \
|
||||
for file in ${UTILITIES}; do \
|
||||
$(INSTALL_PROGRAM) $(INSTALL_STRIP) $$file $(DESTDIR)${archlibdir}/$$file ; \
|
||||
done ; \
|
||||
fi
|
||||
|
||||
.PHONY: install uninstall mostlyclean clean distclean maintainer-clean
|
||||
.PHONY: extraclean check tags
|
||||
|
||||
install: $(DESTDIR)${archlibdir}
|
||||
@echo
|
||||
@echo "Installing utilities for users to run."
|
||||
umask 022; ${MKDIR_P} $(DESTDIR)${bindir}
|
||||
for file in ${INSTALLABLES} ; do \
|
||||
$(INSTALL_PROGRAM) $(INSTALL_STRIP) $${file} $(DESTDIR)${bindir}/`echo $${file} | sed -e 's/${EXEEXT}$$//' -e '$(TRANSFORM)'`${EXEEXT} ; \
|
||||
done
|
||||
|
||||
uninstall:
|
||||
for file in ${INSTALLABLES}; do \
|
||||
rm -f $(DESTDIR)${bindir}/`echo $${file} | sed -e 's/${EXEEXT}$$//' -e '$(TRANSFORM)'`${EXEEXT} ; \
|
||||
done
|
||||
if [ -d $(DESTDIR)${archlibdir} ]; then \
|
||||
(cd $(DESTDIR)${archlibdir} && rm -f ${UTILITIES}) \
|
||||
fi
|
||||
|
||||
mostlyclean:
|
||||
-rm -f core *.o
|
||||
|
||||
clean: mostlyclean
|
||||
-rm -f ${EXE_FILES}
|
||||
|
||||
distclean: clean
|
||||
-rm -f TAGS
|
||||
-rm -f Makefile
|
||||
|
||||
maintainer-clean: distclean
|
||||
true
|
||||
|
||||
extraclean: maintainer-clean
|
||||
-rm -f *~ \#*
|
||||
|
||||
## Test the contents of the directory.
|
||||
check:
|
||||
@echo "We don't have any tests for the nt/ directory yet."
|
||||
|
||||
tags: TAGS
|
||||
TAGS: ${EXE_FILES:${EXEEXT}=.c}
|
||||
../lib-src/etags *.[ch]
|
||||
|
||||
## Build the programs
|
||||
addsection${EXEEXT}: ${srcdir}/addsection.c
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/addsection.c -o addsection${EXEEXT}
|
||||
|
||||
addpm${EXEEXT}: ${srcdir}/addpm.c
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/addpm.c $(LIBS_ADDPM) -o addpm${EXEEXT}
|
||||
|
||||
ddeclient${EXEEXT}: ${srcdir}/ddeclient.c
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/ddeclient.c -o ddeclient${EXEEXT}
|
||||
|
||||
cmdproxy{EXEEXT}: ${srcdir}/cmdproxy.c
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/cmdproxy.c -o cmdproxy${EXEEXT}
|
||||
|
||||
runemacs{EXEEXT}: ${srcdir}/runemacs.c $(EMACSRES)
|
||||
$(CC) ${ALL_CFLAGS} ${srcdir}/runemacs.c $(EMACSRES) \
|
||||
-o runemacs${EXEEXT}
|
||||
|
||||
emacs.res: ${srcdir}/emacs.rc ${srcdir}/emacs.ico ${srcdir}/$(EMACS_MANIFEST)
|
||||
${WINDRES} -O coff -o emacs.res emacs.rc
|
|
@ -260,8 +260,10 @@ W32_OBJ=@W32_OBJ@
|
|||
W32_LIBS=@W32_LIBS@
|
||||
|
||||
## emacs.res if HAVE_W32
|
||||
W32_RES=@W32_RES@
|
||||
## If HAVE_W32, compiler arguments for including
|
||||
EMACSRES = @EMACSRES@
|
||||
## emacs-*.manifest if HAVE_W32
|
||||
EMACS_MANIFEST = @EMACS_MANIFEST@
|
||||
## If HAVE_W32 and CYGWIN, compiler arguments for including
|
||||
## the resource file in the binary.
|
||||
## XXX -Wl,-b -Wl,pe-i386 -Wl,emacs.res
|
||||
W32_RES_LINK=@W32_RES_LINK@
|
||||
|
@ -292,6 +294,14 @@ GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
|||
|
||||
RUN_TEMACS = `/bin/pwd`/temacs
|
||||
|
||||
## Invoke ../nt/addsection for MinGW, ":" elsewhere.
|
||||
TEMACS_POST_LINK = @TEMACS_POST_LINK@
|
||||
ADDSECTION = @ADDSECTION@
|
||||
EMACS_HEAPSIZE = @EMACS_HEAPSIZE@
|
||||
MINGW_TEMACS_POST_LINK = \
|
||||
mv temacs$(EXEEXT) temacs.tmp; \
|
||||
../nt/addsection temacs.tmp temacs$(EXEEXT) EMHEAP $(EMACS_HEAPSIZE)
|
||||
|
||||
UNEXEC_OBJ = @UNEXEC_OBJ@
|
||||
|
||||
CANNOT_DUMP=@CANNOT_DUMP@
|
||||
|
@ -372,9 +382,9 @@ VMLIMIT_OBJ=@VMLIMIT_OBJ@
|
|||
## ralloc.o if !SYSTEM_MALLOC && REL_ALLOC, else empty.
|
||||
RALLOC_OBJ=@RALLOC_OBJ@
|
||||
|
||||
## Empty on Cygwin, lastfile.o elsewhere.
|
||||
## Empty on Cygwin and MinGW, lastfile.o elsewhere.
|
||||
PRE_ALLOC_OBJ=@PRE_ALLOC_OBJ@
|
||||
## lastfile.o on Cygwin, empty elsewhere.
|
||||
## lastfile.o on Cygwin and MinGW, empty elsewhere.
|
||||
POST_ALLOC_OBJ=@POST_ALLOC_OBJ@
|
||||
|
||||
## List of object files that make-docfile should not be told about.
|
||||
|
@ -382,7 +392,9 @@ otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) \
|
|||
$(POST_ALLOC_OBJ) $(WIDGET_OBJ) $(LIBOBJS)
|
||||
|
||||
## All object files linked into temacs. $(VMLIMIT_OBJ) should be first.
|
||||
ALLOBJS = $(VMLIMIT_OBJ) $(obj) $(otherobj)
|
||||
## (On MinGW, firstfile.o should be before vm-limit.o.)
|
||||
FIRSTFILE_OBJ=@FIRSTFILE_OBJ@
|
||||
ALLOBJS = $(FIRSTFILE_OBJ) $(VMLIMIT_OBJ) $(obj) $(otherobj)
|
||||
|
||||
## Configure inserts the file lisp.mk at this point, defining $lisp.
|
||||
@lisp_frag@
|
||||
|
@ -411,7 +423,8 @@ $(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT)
|
|||
## Strictly speaking, emacs does not depend directly on all of $lisp,
|
||||
## since not all pieces are used on all platforms. But DOC depends
|
||||
## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here.
|
||||
emacs$(EXEEXT): temacs$(EXEEXT) $(etc)/DOC $(lisp) $(leimdir)/leim-list.el
|
||||
emacs$(EXEEXT): temacs$(EXEEXT) $(ADDSECTION) \
|
||||
$(etc)/DOC $(lisp) $(leimdir)/leim-list.el
|
||||
if test "$(CANNOT_DUMP)" = "yes"; then \
|
||||
rm -f emacs$(EXEEXT); \
|
||||
ln temacs$(EXEEXT) emacs$(EXEEXT); \
|
||||
|
@ -463,10 +476,11 @@ $(lib)/libgnu.a: $(config_h)
|
|||
cd $(lib) && $(MAKE) libgnu.a
|
||||
|
||||
temacs$(EXEEXT): stamp-oldxmenu $(ALLOBJS) \
|
||||
$(lib)/libgnu.a $(W32_RES)
|
||||
$(lib)/libgnu.a $(EMACSRES)
|
||||
$(CC) $(ALL_CFLAGS) $(TEMACS_LDFLAGS) $(LDFLAGS) \
|
||||
-o temacs $(ALLOBJS) $(lib)/libgnu.a $(LIBES) \
|
||||
$(W32_RES_LINK)
|
||||
$(TEMACS_POST_LINK)
|
||||
test "$(CANNOT_DUMP)" = "yes" || \
|
||||
test "X$(PAXCTL)" = X || $(PAXCTL) -r temacs$(EXEEXT)
|
||||
|
||||
|
@ -509,7 +523,7 @@ doc.o: buildobj.h
|
|||
|
||||
emacs.res: $(ntsource)/emacs.rc \
|
||||
$(ntsource)/icons/emacs.ico \
|
||||
$(ntsource)/emacs-x86.manifest
|
||||
$(ntsource)/$(EMACS_MANIFEST)
|
||||
$(WINDRES) -O COFF -o $@ $(ntsource)/emacs.rc
|
||||
|
||||
ns-app: emacs$(EXEEXT)
|
||||
|
|
Loading…
Add table
Reference in a new issue