declare smobs in alloc.c
[bpt/emacs.git] / lib-src / Makefile.in
index 91d1323..7eb13f6 100644 (file)
@@ -1,7 +1,7 @@
 ### @configure_input@
 
-# Copyright (C) 1985, 1987-1988, 1993-1994, 2001-2014 Free Software
-# Foundation, Inc.
+# Copyright (C) 1985, 1987-1988, 1993-1994, 2001-2014
+#   Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
@@ -28,6 +28,9 @@ EMACSOPT = -batch --no-site-file --no-site-lisp
 
 CC=@CC@
 CFLAGS=@CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+
 version=@version@
 ## Used in $archlibdir.
 configuration=@configuration@
@@ -192,6 +195,7 @@ BASE_CFLAGS = $(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) \
              -I${srcdir} -I${srcdir}/../src -I${srcdir}/../lib
 
 ALL_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
+## Unused.
 LINK_CFLAGS = ${BASE_CFLAGS} ${LDFLAGS} ${CFLAGS}
 CPP_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${CPPFLAGS} ${CFLAGS}
 
@@ -207,9 +211,9 @@ $(EXE_FILES): ../lib/libgnu.a
 
 ## Only used if we need blessmail, but no harm in always defining.
 ## This makes the actual blessmail executable.
-blessmail:
-       $(EMACS) $(EMACSOPT) -l $(srcdir)/../lisp/mail/blessmail.el
-       chmod +x blessmail
+blessmail: $(srcdir)/../lisp/mail/blessmail.el
+       $(EMACS) $(EMACSOPT) -l $<
+       chmod +x $@
 
 ## This checks if we need to run blessmail.
 ## Do not charge ahead and do it!  Let the installer decide.
@@ -247,15 +251,15 @@ $(DESTDIR)${archlibdir}: all
          chown ${gameuser} "$(DESTDIR)${gamedir}"; \
          chmod u=rwx,g=rwx,o=rx "$(DESTDIR)${gamedir}"; \
        fi
-       if [ "`cd \"$(DESTDIR)${archlibdir}\" && /bin/pwd`" \
-             != "`cd ${srcdir} && /bin/pwd`" ]; then \
+       exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && /bin/pwd`; \
+       if [ "$$exp_archlibdir" != "`cd ${srcdir} && /bin/pwd`" ]; then \
          for file in ${SCRIPTS}; do \
            $(INSTALL_SCRIPT) ${srcdir}/$$file "$(DESTDIR)${archlibdir}/$$file"; \
          done ; \
        fi
 
 .PHONY: install uninstall mostlyclean clean distclean maintainer-clean
-.PHONY: extraclean check tags
+.PHONY: bootstrap-clean extraclean check tags
 
 install: $(DESTDIR)${archlibdir}
        @echo
@@ -289,7 +293,7 @@ distclean: clean
        -rm -f TAGS
        -rm -f Makefile blessmail
 
-maintainer-clean: distclean
+bootstrap-clean maintainer-clean: distclean
        true
 
 extraclean: maintainer-clean
@@ -304,53 +308,52 @@ TAGS: etags${EXEEXT}
        etags *.[ch]
 
 ../lib/libgnu.a: $(config_h)
-       cd ../lib && $(MAKE) $(MFLAGS) libgnu.a
+       $(MAKE) -C ../lib libgnu.a
 
 regex.o: $(srcdir)/../src/regex.c $(srcdir)/../src/regex.h $(config_h)
-       ${CC} -c ${CPP_CFLAGS} ${srcdir}/../src/regex.c
+       ${CC} -c ${CPP_CFLAGS} $<
 
 
 etags_deps = ${srcdir}/etags.c regex.o $(NTLIB) $(config_h)
-etags_args = -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" \
-       ${srcdir}/etags.c regex.o $(LOADLIBES) $(NTLIB) -o $@
+etags_cflags = -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" -o $@
+etags_libs = regex.o $(LOADLIBES) $(NTLIB)
 
 etags${EXEEXT}: ${etags_deps}
-       $(CC) ${ALL_CFLAGS} ${etags_args}
+       $(CC) ${ALL_CFLAGS} $(etags_cflags) $< $(etags_libs)
 
+## ctags.c is distinct from etags.c so that parallel makes do not write two
+## etags.o files on top of each other.
 ## FIXME?
-## Can't we use a symlink ctags -> etags, and make etags check for argv[0]?
-## Or a wrapper script that calls etags --ctags?
-ctags${EXEEXT}: ${etags_deps}
-       $(CC) ${ALL_CFLAGS} -DCTAGS ${etags_args}
-
+## Can't we use a wrapper that calls 'etags --ctags'?
+ctags${EXEEXT}: ${srcdir}/ctags.c ${etags_deps}
+       $(CC) ${ALL_CFLAGS} $(etags_cflags) $< $(etags_libs)
 
 ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(NTLIB) \
                    $(config_h)
        $(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" \
-         ${srcdir}/ebrowse.c $(LOADLIBES) $(NTLIB) -o $@
+         $< $(LOADLIBES) $(NTLIB) -o $@
 
 profile${EXEEXT}: ${srcdir}/profile.c $(NTLIB) $(config_h)
-       $(CC) ${ALL_CFLAGS} ${srcdir}/profile.c \
+       $(CC) ${ALL_CFLAGS} $< \
          $(LOADLIBES) $(NTLIB) $(LIB_CLOCK_GETTIME) -o $@
 
 make-docfile${EXEEXT}: ${srcdir}/make-docfile.c $(NTLIB) $(config_h)
-       $(CC) ${ALL_CFLAGS} ${srcdir}/make-docfile.c $(LOADLIBES) $(NTLIB) \
-         -o $@
+       $(CC) ${ALL_CFLAGS} $< $(LOADLIBES) $(NTLIB) -o $@
 
 movemail${EXEEXT}: ${srcdir}/movemail.c pop.o $(NTLIB) $(config_h)
-       $(CC) ${ALL_CFLAGS} ${MOVE_FLAGS} ${srcdir}/movemail.c pop.o \
+       $(CC) ${ALL_CFLAGS} ${MOVE_FLAGS} $< pop.o \
          $(LOADLIBES) $(NTLIB) $(LIBS_MOVE) -o $@
 
 pop.o: ${srcdir}/pop.c ${srcdir}/pop.h ${srcdir}/../lib/min-max.h $(config_h)
-       $(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} ${srcdir}/pop.c
+       $(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} $<
 
 emacsclient${EXEEXT}: ${srcdir}/emacsclient.c $(NTLIB) $(config_h)
-       $(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c \
+       $(CC) ${ALL_CFLAGS} $< \
           -DVERSION="\"${version}\"" $(NTLIB) $(LOADLIBES) $(LIB_FDATASYNC) \
           $(LIB_WSOCK32) $(LIBS_ECLIENT) -o $@
 
 emacsclientw${EXEEXT}: ${srcdir}/emacsclient.c $(NTLIB) $(CLIENTRES) $(config_h)
-       $(CC) ${ALL_CFLAGS} $(CLIENTRES) -mwindows ${srcdir}/emacsclient.c \
+       $(CC) ${ALL_CFLAGS} $(CLIENTRES) -mwindows $< \
           -DVERSION="\"${version}\"" $(LOADLIBES) $(LIB_FDATASYNC) \
           $(LIB_WSOCK32) $(LIBS_ECLIENT) -o $@
 
@@ -362,18 +365,16 @@ NTDEPS = $(NTINC)/ms-w32.h $(NTINC)/sys/stat.h $(NTINC)/inttypes.h \
 # The dependency on $(NTDEPS) is a trick intended to cause recompile of
 # programs on MinGW whenever some private header in nt/inc is modified.
 ntlib.o: ${srcdir}/ntlib.c ${srcdir}/ntlib.h $(NTDEPS)
-       $(CC) -c ${CPP_CFLAGS} ${srcdir}/ntlib.c
+       $(CC) -c ${CPP_CFLAGS} $<
 
 hexl${EXEEXT}: ${srcdir}/hexl.c $(NTLIB) $(config_h)
-       $(CC) ${ALL_CFLAGS} ${srcdir}/hexl.c $(LOADLIBES) -o $@
+       $(CC) ${ALL_CFLAGS} $< $(LOADLIBES) -o $@
 
 update-game-score${EXEEXT}: ${srcdir}/update-game-score.c $(NTLIB) $(config_h)
        $(CC) ${ALL_CFLAGS} -DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" \
-         ${srcdir}/update-game-score.c $(LOADLIBES) $(NTLIB) \
-         -o $@
+         $< $(LOADLIBES) $(NTLIB) -o $@
 
 emacsclient.res: $(NTINC)/../emacsclient.rc
-       $(WINDRES) -O coff --include-dir=$(NTINC)/.. -o $@ \
-         $(NTINC)/../emacsclient.rc
+       $(WINDRES) -O coff --include-dir=$(NTINC)/.. -o $@ $<
 
 ## Makefile ends here.