aboutsummaryrefslogtreecommitdiffstats
path: root/pbx
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2010-01-24 06:33:01 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2010-01-24 06:33:01 +0000
commita539c47027ad32956582162c0d96b2e35d57deed (patch)
tree4a4567d3e5dace0cfb88c943b0cb31e8e7acd4c8 /pbx
parent554af21bee873a761c8acc8c43cf50d23b151d16 (diff)
Only rebuild bison and flex source files on demand, if bison and flex are detected by the configure script.
Changed after discussion on the -dev list about possible unnecessary build failures, due to checkouts/untars causing these special source files to possibly be newer than their resulting C files. This should additionally ensure that nobody need learn about extra Makefile arguments to ensure the proper files get rebuilt when changes are made to these special source files. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@242520 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx')
-rw-r--r--pbx/Makefile16
-rw-r--r--pbx/ael/ael_lex.c13
2 files changed, 18 insertions, 11 deletions
diff --git a/pbx/Makefile b/pbx/Makefile
index a106bb5e3..e40a38998 100644
--- a/pbx/Makefile
+++ b/pbx/Makefile
@@ -9,7 +9,7 @@
# the GNU General Public License
#
--include ../menuselect.makeopts ../menuselect.makedeps
+-include ../menuselect.makeopts ../menuselect.makedeps ../makeopts
MENUSELECT_CATEGORY=PBX
MENUSELECT_DESCRIPTION=PBX Modules
@@ -44,14 +44,22 @@ ael/ael.tab.o ael/ael_lex.o: _ASTCFLAGS+=$(MENUSELECT_OPTS_pbx_ael:%=-D%) $(fore
$(if $(filter pbx_ael,$(EMBEDDED_MODS)),modules.link,pbx_ael.so): ael/ael.tab.o ael/ael_lex.o
+ifneq ($(FLEX),)
ael/ael_lex.c: ael/ael.flex
+else
+ael/ael_lex.c:
+endif
$(ECHO_PREFIX) echo " [FLEX] $< -> $@"
- (cd ael; flex ael.flex; sed -i -e "/begin standard C headers/i#include \"asterisk.h\"" ael_lex.c)
- (cd ael; sed 's@#if __STDC_VERSION__ >= 199901L@#if !defined __STDC_VERSION__ || __STDC_VERSION__ >= 199901L@' ael_lex.c > zz; mv zz ael_lex.c)
+ $(ECHO_PREFIX) (cd ael; flex ael.flex; sed -i -e "/begin standard C headers/i#include \"asterisk.h\"" ael_lex.c)
+ $(ECHO_PREFIX) (cd ael; sed 's@#if __STDC_VERSION__ >= 199901L@#if !defined __STDC_VERSION__ || __STDC_VERSION__ >= 199901L@' ael_lex.c > zz; mv zz ael_lex.c)
+ifneq ($(BISON),)
ael/ael.tab.c ael/ael.tab.h: ael/ael.y
+else
+ael/ael.tab.c ael/ael.tab.h:
+endif
$(ECHO_PREFIX) echo " [BISON] $< -> $@"
- (cd ael; bison -v -d ael.y)
+ $(ECHO_PREFIX) (cd ael; bison -v -d ael.y)
dundi-parser.o: dundi-parser.h
dundi-parser.o: _ASTCFLAGS+=-I.
diff --git a/pbx/ael/ael_lex.c b/pbx/ael/ael_lex.c
index c02a0d2d5..96e6d683b 100644
--- a/pbx/ael/ael_lex.c
+++ b/pbx/ael/ael_lex.c
@@ -55,6 +55,7 @@ typedef int flex_int32_t;
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
/* Limits of integral types. */
#ifndef INT8_MIN
@@ -85,8 +86,6 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U)
#endif
-#endif /* ! C99 */
-
#endif /* ! FLEXINT_H */
#ifdef __cplusplus
@@ -951,7 +950,7 @@ static void pbcwhere(const char *text, int *line, int *col )
#define STORE_POS
#define STORE_LOC
#endif
-#line 954 "ael_lex.c"
+#line 953 "ael_lex.c"
#define INITIAL 0
#define paren 1
@@ -1103,7 +1102,7 @@ static int input (yyscan_t yyscanner );
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
+#define ECHO fwrite( yytext, yyleng, 1, yyout )
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -1114,7 +1113,7 @@ static int input (yyscan_t yyscanner );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- size_t n; \
+ int n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
@@ -1202,7 +1201,7 @@ YY_DECL
#line 216 "ael.flex"
-#line 1205 "ael_lex.c"
+#line 1204 "ael_lex.c"
yylval = yylval_param;
@@ -2028,7 +2027,7 @@ YY_RULE_SETUP
#line 649 "ael.flex"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 2031 "ael_lex.c"
+#line 2030 "ael_lex.c"
case YY_END_OF_BUFFER:
{