-AUTOMAKE_OPTIONS = foreign
+CLEANFILES = pch.h.gch
-DISTCLEANFILES= *.orig *.rej *~ *.bak core
+DISTCLEANFILES= pch.h.gch.dep *.orig *.rej *~ *.bak core
MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
AM_ETAGSFLAGS = --lang=c++
if LYX_BUILD_PCH
-PCH_FLAGS = -Winvalid-pch --include=pch.h
-PCH_FILE = pch.h.gch
+PCH_SOURCE = $(srcdir)/pch.h
+PCH_FLAGS = -Winvalid-pch --include=$(PCH_SOURCE)
+PCH_FILE = ./pch.h.gch
+sinclude ./pch.h.gch.dep
+
+*.o *.lo *.obj: $(PCH_FILE)
+
+$(PCH_FILE): $(PCH_SOURCE)
+ $(MAKE) PCH_FLAGS= pch-file
+
+pch-file:
+ $(CXXCOMPILE) -x c++-header -fPIC -DPIC $(PCH_SOURCE) -o $(PCH_FILE) \
+ -MT $(PCH_FILE) -MD -MP -MF "./$(PCH_FILE).Tdep" \
+ && mv "./$(PCH_FILE).Tdep" "./$(PCH_FILE).dep" \
+ || rm "./$(PCH_FILE).Tdep"
endif
-pch.h.gch:
- $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -x c++-header pch.h
+SUFFIXES = .gch
if USE_INCLUDED_BOOST
BOOST_INCLUDES = -I$(top_srcdir)/boost
+BOOST_LIBS = $(top_builddir)/boost/liblyxboost.a
+else
+BOOST_INCLUDES =
+BOOST_REGEX = -lboost_regex$(BOOST_MT)
+BOOST_SIGNALS = -lboost_signals$(BOOST_MT)
+BOOST_LIBS = $(BOOST_REGEX) $(BOOST_SIGNALS)
endif
LIBS =