From 66dbf213eabcba05f54ff85e79ae44bbbeae4386 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 20 May 2010 17:48:14 -0700 Subject: [PATCH] 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. --- ChangeLog | 2 ++ configure.in | 3 +++ msdos/ChangeLog | 2 ++ msdos/sed1v2.inp | 1 + src/ChangeLog | 4 ++++ src/Makefile.in | 19 +++---------------- src/ns.mk | 39 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 54 insertions(+), 16 deletions(-) create mode 100644 src/ns.mk diff --git a/ChangeLog b/ChangeLog index 9242ab5ef9e..53424301efd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2010-05-21 Glenn Morris + * 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. diff --git a/configure.in b/configure.in index cd20908e135..6d82a20351b 100644 --- a/configure.in +++ b/configure.in @@ -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 ) diff --git a/msdos/ChangeLog b/msdos/ChangeLog index df532f60c9a..54e9f9cbe76 100644 --- a/msdos/ChangeLog +++ b/msdos/ChangeLog @@ -1,5 +1,7 @@ 2010-05-21 Glenn Morris + * sed1v2.inp(@ns_frag@): Edit to nothing. + * sed1x.inp (OLDXMENU): Replace any initial value. * sed1v2.inp (OLDXMENU): Edit to "nothing". diff --git a/msdos/sed1v2.inp b/msdos/sed1v2.inp index a54e40b5c05..ca397e6b08b 100644 --- a/msdos/sed1v2.inp +++ b/msdos/sed1v2.inp @@ -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/ diff --git a/src/ChangeLog b/src/ChangeLog index 5335dfc150d..d74fb712e6d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,9 @@ 2010-05-21 Glenn Morris + * 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. diff --git a/src/Makefile.in b/src/Makefile.in index 8c2994f6e8a..f82a01cbde4 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -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. */ - -#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 +/* If HAVE_NS, some ns-specific rules (for OTHER_FILES) are inserted here. */ +@ns_frag@ + mostlyclean: rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a diff --git a/src/ns.mk b/src/ns.mk new file mode 100644 index 00000000000..255ffa7046b --- /dev/null +++ b/src/ns.mk @@ -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 . + +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 */ -- 2.39.2