Handle some HAVE_NS Makefile conditionals with configure.

* configure.in (ns_frag): New output file.

* src/Makefile.in (${ns_appdir}, ${ns_appbindir}Emacs, ns-app):
Move these rules to ns.mk.
* ns.mk: New file.  Copyright years based on date of nextstep merge.

* msdos/sed1v2.inp(@ns_frag@): Edit to nothing.
This commit is contained in:
Glenn Morris 2010-05-20 17:48:14 -07:00
parent 04384b2d18
commit 66dbf213ea
7 changed files with 53 additions and 15 deletions

View file

@ -1,5 +1,7 @@
2010-05-21 Glenn Morris <rgm@gnu.org>
* configure.in (ns_frag): New output file.
* configure.in (OLDXMENU): Set to "nothing" if !HAVE_X11 || USE_GTK.
(OLDXMENU_TARGET): Set to empty if USE_GTK.

View file

@ -1525,6 +1525,7 @@ AC_SUBST(NS_IMPL_GNUSTEP_INC)
AC_SUBST(NS_IMPL_GNUSTEP_TEMACS_LDFLAGS)
AC_SUBST(TEMACS_LDFLAGS2)
ns_frag=/dev/null
NS_OBJ=
NS_SUPPORT=
if test "${HAVE_NS}" = yes; then
@ -1536,6 +1537,7 @@ if test "${HAVE_NS}" = yes; then
if test "${EN_NS_SELF_CONTAINED}" = yes; then
prefix=${ns_appresdir}
fi
ns_frag=$srcdir/src/ns.mk
NS_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o fontset.o fringe.o image.o"
NS_SUPPORT="\${lispsource}emacs-lisp/easymenu.elc \${lispsource}term/ns-win.elc"
fi
@ -1544,6 +1546,7 @@ CPPFLAGS="$tmp_CPPFLAGS"
AC_SUBST(NS_OBJ)
AC_SUBST(NS_SUPPORT)
AC_SUBST(LIB_STANDARD)
AC_SUBST_FILE(ns_frag)
case "${window_system}" in
x11 )

View file

@ -1,5 +1,7 @@
2010-05-21 Glenn Morris <rgm@gnu.org>
* sed1v2.inp(@ns_frag@): Edit to nothing.
* sed1x.inp (OLDXMENU): Replace any initial value.
* sed1v2.inp (OLDXMENU): Edit to "nothing".

View file

@ -149,6 +149,7 @@ s/\.h\.in/.h-in/
/^[ ]touch /s/touch/djecho $@ >/
s/@YMF_PASS_LDFLAGS@/flags/
s/@deps_frag@//
s/@ns_frag@//
s/bootstrap-emacs/b-emacs/
s/bootstrap-temacs/b-temacs/
s/bootstrap-doc/b-doc/

View file

@ -1,5 +1,9 @@
2010-05-21 Glenn Morris <rgm@gnu.org>
* Makefile.in (${ns_appdir}, ${ns_appbindir}Emacs, ns-app):
Move these rules to ns.mk.
* ns.mk: New file.
* Makefile.in (../src/$(OLDXMENU), $(OLDXMENU)): Always define rules.
* Makefile.in (CANNOT_DUMP): New, set by configure.

View file

@ -700,22 +700,9 @@ ecrt0.o: ecrt0.c $(config_h)
doc.o: buildobj.h
/* System-specific programs to be made.
OTHER_FILES select which of these should be compiled. */
/* If HAVE_NS, some ns-specific rules (for OTHER_FILES) are inserted here. */
@ns_frag@
#ifdef HAVE_NS
${ns_appdir}: ${ns_appsrc}
rm -fr ${ns_appdir}
mkdir -p ${ns_appdir}
( cd ${ns_appsrc} ; tar cfh - . ) | ( cd ${ns_appdir} ; umask 022; tar xf - )
#endif /* HAVE_NS */
/* These are only used if HAVE_NS, but no harm in always defining them. */
${ns_appbindir}Emacs: emacs${EXEEXT}
mkdir -p ${ns_appbindir}
cp -f emacs${EXEEXT} ${ns_appbindir}Emacs
ns-app: ${ns_appdir} ${ns_appbindir}Emacs
mostlyclean:
rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a

39
src/ns.mk Normal file
View file

@ -0,0 +1,39 @@
/* autodeps.mk --- src/Makefile fragment for GNU Emacs
Copyright (C) 2008, 2009, 2010 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/>.
Commentary:
This is inserted in src/Makefile if HAVE_NS.
The only reason this is in a separate file is because $ns_appdir,
which appears as a target, is empty on non-NS builds. Some makes
do not like empty targets, even if they are never used. */
${ns_appdir}: ${ns_appsrc}
rm -fr ${ns_appdir}
mkdir -p ${ns_appdir}
( cd ${ns_appsrc} ; tar cfh - . ) | ( cd ${ns_appdir} ; umask 022; tar xf - )
${ns_appbindir}Emacs: emacs${EXEEXT}
mkdir -p ${ns_appbindir}
cp -f emacs${EXEEXT} ${ns_appbindir}Emacs
ns-app: ${ns_appdir} ${ns_appbindir}Emacs
/* ns.mk ends here */