]> git.lyx.org Git - features.git/blobdiff - config/common.am
More pch work.
[features.git] / config / common.am
index 510b4dd05e92a7b3203a8e38e7452de4e8ddd4c9..69ebe4bef1c7f8beee81d18fb8b3308f53d5d891 100644 (file)
@@ -1,5 +1,7 @@
 AUTOMAKE_OPTIONS = foreign
 
+CLEANFILES = pch.h.gch
+
 DISTCLEANFILES= *.orig *.rej *~ *.bak core
 
 MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
@@ -10,12 +12,21 @@ AM_ETAGSFLAGS = --lang=c++
 
 if LYX_BUILD_PCH
 PCH_FLAGS = -Winvalid-pch --include=pch.h
-PCH_FILE = pch.h.gch
-endif
+PCH_FILE = ./pch.h.gch
+PCH_SOURCE = ./pch.h
+sinclude pch.h.gch.dep
+
+*.C *.cpp: $(PCH_FILE)
 
-pch.h.gch:
+pch.h.gch: $(PCH_SOURCE)
        $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-        $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -x c++-header pch.h
+        $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) \
+       -x c++-header $(PCH_SOURCE) -MT $@ -MD -MP -MF "./$@.Tdep" \
+       && mv "./$@.Tdep" "./$@.dep" || rm "./$@.Tdep"
+
+endif
+
+SUFFIXES = .gch
 
 if USE_INCLUDED_BOOST
 BOOST_INCLUDES = -I$(top_srcdir)/boost