# src/Makefile for GNU Emacs.
-# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2011
+# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2012
# Free Software Foundation, Inc.
# This file is part of GNU Emacs.
lib = ../lib
libsrc = ../lib-src
etc = ../etc
+leimdir = ../leim
oldXMenudir = ../oldXMenu
lwlibdir = ../lwlib
lispdir = ../lisp
PROFILING_CFLAGS = @PROFILING_CFLAGS@
## Flags to pass to the compiler to enable build warnings
-C_WARNINGS_SWITCH = @C_WARNINGS_SWITCH@
+WARN_CFLAGS = @WARN_CFLAGS@
+WERROR_CFLAGS = @WERROR_CFLAGS@
## Machine-specific CFLAGS.
C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
## -lm, or empty.
LIB_MATH=@LIB_MATH@
+## -lpthreads, or empty.
+LIB_PTHREAD=@LIB_PTHREAD@
+
LIBTIFF=@LIBTIFF@
LIBJPEG=@LIBJPEG@
LIBPNG=@LIBPNG@
DBUS_OBJ = @DBUS_OBJ@
SETTINGS_CFLAGS = @SETTINGS_CFLAGS@
-SETTINGS_LIBS = @SETTINGS_CFLAGS@
+SETTINGS_LIBS = @SETTINGS_LIBS@
## gtkutil.o if USE_GTK, else empty.
GTK_OBJ=@GTK_OBJ@
LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
+LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
+
INTERVALS_H = dispextern.h intervals.h composite.h
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
$(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \
$(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) $(PROFILING_CFLAGS) \
$(LIBGNUTLS_CFLAGS) \
- $(C_WARNINGS_SWITCH) $(CFLAGS)
+ $(WARN_CFLAGS) $(WERROR_CFLAGS) $(CFLAGS)
ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS)
.SUFFIXES: .m
$(LIBXML2_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \
$(LIBS_TERMCAP) $(GETLOADAVG_LIBS) $(SETTINGS_LIBS) $(LIBSELINUX_LIBS) \
$(FREETYPE_LIBS) $(FONTCONFIG_LIBS) $(LIBOTF_LIBS) $(M17N_FLT_LIBS) \
- $(LIBGNUTLS_LIBS) \
+ $(LIBGNUTLS_LIBS) $(LIB_PTHREAD) $(LIB_PTHREAD_SIGMASK) \
$(LIB_GCC) $(LIB_MATH) $(LIB_STANDARD) $(LIB_GCC)
all: emacs$(EXEEXT) $(OTHER_FILES)
+$(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT)
+ cd $(leimdir) && $(MAKE) $(MFLAGS) leim-list.el BUILT_EMACS=$(bootstrap_exe)
+
## Does anyone ever pay attention to the load-path-shadows output here?
## The dumped Emacs is as functional and more efficient than
## bootstrap-emacs, so we replace the latter with the former.
## 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)
+emacs$(EXEEXT): temacs$(EXEEXT) $(etc)/DOC $(lisp) $(leimdir)/leim-list.el
if test "$(CANNOT_DUMP)" = "yes"; then \
ln -f temacs$(EXEEXT) emacs$(EXEEXT); \
EMACSLOADPATH=$(lispsource) ./emacs -batch \
gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES)
@rm -f gl-tmp
$(libsrc)/make-docfile -d $(srcdir) -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp
- $(srcdir)/../move-if-change gl-tmp globals.h
+ $(srcdir)/../build-aux/move-if-change gl-tmp globals.h
echo timestamp > $@
$(obj) $(otherobj): globals.h