mirror of
https://github.com/postgres/postgres.git
synced 2025-11-21 00:42:43 +03:00
Gen_fmgrtab.sh is strange: it is a platform dependent way (because it uses
CPP) to create platform independent files. Unfortunately, that means that every config.status (or configure) run invariably causes a relink of the postmaster and also that we can't put these files in the distribution (usefully). So we make it a little smarter: when the output files already exist and it notices that it would recreate them in identical form, it doesn't touch them. In order to avoid re-running the make rule all the time we update a timestamp file instead. Update release_prep accordingly. Also make Gen_fmgrtab.sh use the awk that is detected at configure time, not necessarily named `awk' and have it check for exit statuses a little better. In other news... Remove USE_LOCALE from the templates, it was set to `no' everywhere anyway. Also remove YACC and YFLAGS from the templates, configure is smart enough to find bison or yacc itself. Use AC_PROG_YACC for that instead of the hand-crafted code. Do not set YFLAGS to `-d'. The make rules that need this flag should explicitly invoke it. YFLAGS should be a user variable. Update the makefiles to that effect.
This commit is contained in:
@@ -26,12 +26,12 @@ ecpg: $(OBJS)
|
||||
$(CC) -o ecpg $(OBJS) $(LEXLIB) $(LDFLAGS)
|
||||
|
||||
preproc.c preproc.h: preproc.y
|
||||
$(YACC) $(YFLAGS) $<
|
||||
$(YACC) -d $(YFLAGS) $<
|
||||
mv y.tab.c preproc.c
|
||||
mv y.tab.h preproc.h
|
||||
|
||||
pgc.c: pgc.l
|
||||
$(LEX) $<
|
||||
$(LEX) $(LFLAGS) $<
|
||||
mv lex.yy.c pgc.c
|
||||
|
||||
clean:
|
||||
|
||||
Reference in New Issue
Block a user