• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src/router/samba-3.5.8/source4/build/make/
1#!/bin/sh
2
3LEX="$1"
4SRC="$2"
5DEST="$3"
6shift 3
7ARGS="$*"
8
9dir=`dirname $SRC`
10file=`basename $SRC`
11base=`basename $SRC .l`
12if [ -z "$LEX" ]; then
13	# if $DEST is more recent than $SRC, we can just touch
14	# otherwise we touch but print out warnings
15	if [ -r $DEST ]; then
16		if [ x`find $SRC -newer $DEST -print` = x$SRC ]; then
17			echo "warning: lex not found - cannot generate $SRC => $DEST" >&2
18			echo "warning: lex not found - only updating the timestamp of $DEST" >&2
19		fi
20		touch $DEST;
21		exit;
22	fi
23	echo "error: lex not found - cannot generate $SRC => $DEST" >&2
24	exit 1;
25fi
26# if $DEST is more recent than $SRC, we can just touch
27if [ -r $DEST ]; then
28	if [ x`find $SRC -newer $DEST -print` != x$SRC ]; then
29		touch $DEST;
30		exit;
31	fi
32fi
33TOP=`pwd`
34echo "info: running $LEX $ARGS $file"
35if cd $dir && $LEX $ARGS $file; then
36	if [ -r lex.yy.c ];then
37	        # we must guarantee that config.h comes first
38		echo "info: move lex.yy.c to $base.c"
39	        echo "#include \"config.h\"" > $base.c
40		sed -e "s|lex\.yy\.c|$DEST|" lex.yy.c >> $base.c
41		rm -f $base.yy.c
42	elif [ -r $base.yy.c ];then
43	        # we must guarantee that config.h comes first
44		echo "info: move $base.yy.c to $base.c"
45	        echo "#include \"config.h\"" > $base.c
46		sed -e "s|$base\.yy\.c|$DEST|" $base.yy.c >> $base.c
47		rm -f $base.yy.c
48	elif [ -r $base.c ];then
49	        # we must guarantee that config.h comes first
50		echo "info: add #include \"config.h\" to $base.c"
51		mv $base.c $base.c.tmp
52	        echo "#include \"config.h\"" > $base.c
53		sed -e "s|$base\.yy\.c|$DEST|" $base.c.tmp >> $base.c
54		rm -f $base.c.tmp
55	elif [ ! -r base.c ]; then
56		echo "$base.c nor $base.yy.c nor lex.yy.c generated."
57		exit 1
58	fi
59fi
60cd $TOP
61