Angus Leeming wrote:
> But it would appear that this rule in config/common.am isn't doing what
> it's meant to be doing.
>
> PCH_FILE = ./pch.h.gch
> *.C *.cpp: $(PCH_FILE)
Changing it to:
# Make the TARGETS depend on the pch.h.gch, not the SOURCES!
*.o *.lo *.obj: $(PCH_FILE)
appears to do the trick. Patch attached.
--
Angus
Index: config/common.am
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/config/common.am,v
retrieving revision 1.14
diff -u -p -r1.14 common.am
--- config/common.am 20 Jan 2005 14:44:19 -0000 1.14
+++ config/common.am 4 May 2005 15:47:26 -0000
@@ -2,7 +2,7 @@ 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
@@ -16,16 +16,16 @@ PCH_FLAGS = -Winvalid-pch --include=$(PC
PCH_FILE = ./pch.h.gch
sinclude ./pch.h.gch.dep
-*.C *.cpp: $(PCH_FILE)
+*.o *.lo *.obj: $(PCH_FILE)
$(PCH_FILE): $(PCH_SOURCE)
$(MAKE) PCH_FLAGS= pch-file
pch-file:
- $(CXXCOMPILE) -x c++-header $(PCH_SOURCE) -MT $(PCH_FILE) -MD -MP \
- -MF "./$(PCH_FILE).Tdep" \
- && mv "./$(PCH_FILE).Tdep" "./$(PCH_FILE).dep" || rm "./$(PCH_FILE).Tdep"
-
+ $(CXXCOMPILE) -x c++-header $(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
SUFFIXES = .gch