diff --git a/src/Makefile.in b/src/Makefile.in
index bf1bdfa6bec33ff3cefd7afbb1dc5e6604844a54..250e7c9bbc1ab3e655a1dd0efbd2a0d204f3747c 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,5 +1,5 @@
 #
-# $Id: Makefile.in,v 1.214 2000/10/17 14:48:38 mast Exp $
+# $Id: Makefile.in,v 1.215 2000/10/30 19:01:22 grubba Exp $
 #
 
 # This line is needed on some machines.
@@ -281,16 +281,20 @@ hilfe: $(TMP_BINDIR)/hilfe Makefile
 	@echo "Done."
 
 
-.SUFFIXES: .c .o .cmod .pp .protos
+.SUFFIXES: .c .h .o .cmod .pp .pph .protos
 
 .c.pp:
-	$(CPP) $(PREFLAGS) -DPMOD_EXPORT=PMOD_EXPORT -DPMOD_PROTO=PMOD_PROTO "$<" >"$@"
+	$(CPP) $(PREFLAGS) -DPMOD_EXPORT=PMOD_EXPORT \
+	  -DPMOD_PROTO=PMOD_PROTO "$<" >"$@"
 
 .c.protos:
-	./precompile.sh fake_dynamic_load.pike "$@" --cpp --protos $(CPP) $(PREFLAGS) -DPMOD_EXPORT=PMOD_EXPORT -DPMOD_PROTO=PMOD_PROTO "$<"
+	./precompile.sh fake_dynamic_load.pike "$@" --cpp --protos \
+	  $(CPP) $(PREFLAGS) -DPMOD_EXPORT=PMOD_EXPORT \
+	    -DPMOD_PROTO=PMOD_PROTO -DPIKE_PRECOMPILER=1 "$<"
 
 .h.pph:
-	$(CPP) $(PREFLAGS) -DPMOD_EXPORT=PMOD_EXPORT -DPMOD_PROTO=PMOD_PROTO "$<" >"$@"
+	$(CPP) $(PREFLAGS) -DPMOD_EXPORT=PMOD_EXPORT \
+	  -DPMOD_PROTO=PMOD_PROTO "$<" >"$@"
 
 
 # Several optimizers have problems with interpret.c
diff --git a/src/lex.c b/src/lex.c
index 597c1bfe4a57b8d12e7289b9c0799ae39cee2418..298c66a4b12dd1a8478a3ca0af1ea46baf950263 100644
--- a/src/lex.c
+++ b/src/lex.c
@@ -5,7 +5,7 @@
 \*/
 /**/
 #include "global.h"
-RCSID("$Id: lex.c,v 1.81 2000/07/07 02:11:40 hubbe Exp $");
+RCSID("$Id: lex.c,v 1.82 2000/10/30 19:01:21 grubba Exp $");
 #include "language.h"
 #include "array.h"
 #include "lex.h"
@@ -91,7 +91,9 @@ void exit_lex(void)
 
 struct keyword instr_names[]=
 {
+#ifndef PIKE_PRECOMPILER
 #include "interpret_protos.h"
+#endif /* !PIKE_PRECOMPILER */
 { "!=",			F_NE,0 },	
 { "%=",			F_MOD_EQ,0 },	
 { "&=",			F_AND_EQ,0 },