From 971d48a00ef82880c34e89778bf430a01360ebd5 Mon Sep 17 00:00:00 2001 
 | 
From: Roy Li <rongqing.li@windriver.com> 
 | 
Date: Mon, 18 May 2015 16:28:36 +0800 
 | 
Subject: [PATCH] [PATCH] fix the YACC rule to fix a building failure 
 | 
  
 | 
Upstream-Statu: Pending 
 | 
  
 | 
The original rule will create the header file twice, one is that the header 
 | 
file as the object file is created, other time is when create the C source file. 
 | 
since YACC always has "-d" parameter. 
 | 
  
 | 
This lead to a race when compile amd_tok.o, the header file maybe rewritten. 
 | 
  |---------------------- 
 | 
  |amd_tok.l:359:10: error: 'RBRACKET' undeclared (first use in this function) 
 | 
  |  ")" { return RBRACKET; } 
 | 
  |          ^ 
 | 
  |../Makefile.rules:64: recipe for target 'amd_tok.o' failed 
 | 
  |---------------------- 
 | 
Signed-off-by: Roy Li <rongqing.li@windriver.com> 
 | 
  
 | 
--- 
 | 
 lib/Makefile     | 6 ++++-- 
 | 
 modules/Makefile | 3 ++- 
 | 
 2 files changed, 6 insertions(+), 3 deletions(-) 
 | 
  
 | 
--- a/lib/Makefile 
 | 
+++ b/lib/Makefile 
 | 
@@ -53,7 +53,8 @@ mount_xdr.o: mount_xdr.c 
 | 
 nss_tok.c: nss_tok.l 
 | 
     $(LEX) -o$@ -Pnss_ $? 
 | 
  
 | 
-nss_parse.tab.c nss_parse.tab.h: nss_parse.y 
 | 
+nss_parse.tab.h: nss_parse.tab.c 
 | 
+nss_parse.tab.c: nss_parse.y 
 | 
     $(YACC) -v -d -p nss_ -b nss_parse $? 
 | 
  
 | 
 nss_tok.o: nss_tok.c nss_parse.tab.h 
 | 
--- a/modules/Makefile 
 | 
+++ b/modules/Makefile 
 | 
@@ -103,7 +103,8 @@ amd_tok.c: amd_tok.l 
 | 
  
 | 
 amd_tok.o: amd_tok.c amd_parse.tab.h 
 | 
  
 | 
-amd_parse.tab.c amd_parse.tab.h: amd_parse.y 
 | 
+amd_parse.tab.h: amd_parse.tab.c 
 | 
+amd_parse.tab.c: amd_parse.y 
 | 
     $(YACC) -v -d -p amd_ -b amd_parse $? 
 | 
  
 | 
 amd_parse.tab.o: amd_parse.tab.c amd_parse.tab.h 
 | 
--- a/daemon/Makefile 
 | 
+++ b/daemon/Makefile 
 | 
@@ -16,7 +16,7 @@ YACCSRC = master_tok.c master_parse.tab. 
 | 
 version := $(shell cat ../.version) 
 | 
  
 | 
 CFLAGS += -rdynamic $(DAEMON_CFLAGS) -D_GNU_SOURCE -I../include 
 | 
-CFLAGS += -DAUTOFS_LIB_DIR=\"$(autofslibdir)\"  
 | 
+CFLAGS += -DAUTOFS_LIB_DIR=\"$(autofslibdir)\" 
 | 
 CFLAGS += -DAUTOFS_MAP_DIR=\"$(autofsmapdir)\" 
 | 
 CFLAGS += -DAUTOFS_CONF_DIR=\"$(autofsconfdir)\" 
 | 
 CFLAGS += -DAUTOFS_FIFO_DIR=\"$(autofsfifodir)\" 
 | 
@@ -44,7 +44,8 @@ automount: $(OBJS) $(AUTOFS_LIB) 
 | 
 master_tok.c: master_tok.l 
 | 
     $(LEX) -o$@ -Pmaster_ $? 
 | 
  
 | 
-master_parse.tab.c master_parse.tab.h: master_parse.y 
 | 
+master_parse.tab.h: master_parse.tab.c 
 | 
+master_parse.tab.c: master_parse.y 
 | 
     $(YACC) -v -d -p master_ -b master_parse $? 
 | 
  
 | 
 master_tok.o: master_tok.c master_parse.tab.h 
 | 
@@ -57,5 +58,3 @@ clean: 
 | 
 install: all 
 | 
     install -d -m 755 $(INSTALLROOT)$(sbindir) 
 | 
     install -c automount -m 755 $(INSTALLROOT)$(sbindir) 
 | 
- 
 | 
- 
 |