]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
[Bug 1470] "make distdir" in $srcdir builds keyword-gen, libntp.a.
authorDave Hart <hart@ntp.org>
Mon, 1 Feb 2010 01:56:41 +0000 (01:56 +0000)
committerDave Hart <hart@ntp.org>
Mon, 1 Feb 2010 01:56:41 +0000 (01:56 +0000)
bk: 4b6634d9uVkOy87DeycSj7uV6CiU3A

ChangeLog
bootstrap
ntpd/Makefile.am
ntpd/keyword-gen-utd [new file with mode: 0644]

index 26d2c8be562f7bcf17f4f68cee5aec315e9f3a69..fed2d1b4bdd8c42d68686b3becfefda0a01e5a60 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 ---
 
 * [Bug 1467] Fix bogus rebuild of sntp/sntp.html
+* [Bug 1470] "make distdir" in $srcdir builds keyword-gen, libntp.a.
 
 ---
 (4.2.6p1-RC3) 2010/01/24 Released by Harlan Stenn <stenn@ntp.org>
index bac7a1b01b3e6ae412857b7defe1988b98023cb7..79b20d650015a662a8ff1bb019305c5cadece9ef 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -106,13 +106,12 @@ done
 
 ## EOAutoGen stuff
 
-# Yacc/bison files
+# Yacc/bison files ntp_parser.[ch] so we don't require the tool if
+# ntp_parser.y hasn't been updated.  At the same time, keyword-gen-utd
+# and ntp_keyword.h which are derived from ntp_parser.h and
+# keyword-gen.c.
 
-touch ntpd/ntp_parser.[ch]
-
-# generated by ntpd/keyword-gen.c
-
-touch ntpd/ntp_keyword.h
+touch ntpd/ntp_parser.[ch] ntpd/keyword-gen-utd ntpd/ntp_keyword.h
 
 cp bincheck.mf sntp/
 cp depsver.mf sntp/
index b0bc10c24eac2b58a535b89828a8189c9c7f9cd2..2eb716092775d0b533d18824b61a7a8ce69e96d8 100644 (file)
@@ -27,12 +27,6 @@ else !SAVECONFIG_ENABLED
 CHECK_SAVECONFIG=
 endif
 
-if NTP_CROSSCOMPILE
-NTP_KEYWORD_OUT=ntp_keyword.dummy
-else
-NTP_KEYWORD_OUT=ntp_keyword.out
-endif
-
 #
 # VPHACK and VPHACK_AFTER are enabled on non-GNU makes (such as 
 # BSD make) to work around issues specific to compiling
@@ -71,7 +65,6 @@ vphack_after:
 
 # BUILT_SOURCES which should also be in EXTRA_DIST
 B_S_DIST=              \
-       ntp_keyword.h   \
        ntpd-opts.c     \
        ntpd-opts.h     \
        $(NULL)
@@ -80,7 +73,7 @@ BUILT_SOURCES=                \
        $(VPHACK)       \
        ntp_parser.c    \
        ntp_parser.h    \
-       $(VPHACK_AFTER) \
+       $(VPHACK_AFTER) \
        $(B_S_DIST)     \
        $(NULL)
 
@@ -95,26 +88,37 @@ man_MANS=   $(srcdir)/ntpd.1
 # sqrt                                ntp_control.o
 # floor                               refclock_wwv.o
 # which are (usually) provided by -lm.
-keyword_gen_LDADD = ../libntp/libntp.a
 ntpd_LDADD = $(LDADD) $(LIBOPTS_LDADD) ../libntp/libntp.a -lm @LCRYPTO@ @LSCF@
 ntpdsim_LDADD = $(LDADD) $(LIBOPTS_LDADD) ../libntp/libntpsim.a -lm @LCRYPTO@ @LSCF@
 ntpdsim_CFLAGS = $(CFLAGS) -DSIM
 check_y2k_LDADD = $(LDADD) ../libntp/libntp.a
-DISTCLEANFILES = keyword-gen .version version.c
-CLEANFILES = check-saveconfig compsave.conf ntp_keyword.out \
-       ntp_keyword.dummy
+keyword_gen_LDADD = ../libntp/libntp.a # we don't want $(LDADD) here
+
+DISTCLEANFILES =               \
+       keyword-gen             \
+       .version                \
+       version.c               \
+       $(NULL)
+
+CLEANFILES =                   \
+       check-saveconfig        \
+       compsave.conf           \
+       k-g-u-submake           \
+       $(NULL)
+
 EXTRA_DIST =                   \
        complete.conf           \
+       keyword-gen-utd         \
        ntpd.1                  \
        ntpd-opts.def           \
        ntpd-opts.menu          \
        ntpd-opts.texi          \
        ntpdbase-opts.def       \
-       ntp_keyword.h           \
        refclock_msfees.c       \
        refclock_trak.c         \
        $(B_S_DIST)             \
        $(NULL)
+
 ETAGS_ARGS = Makefile.am
 ###                                                    Y2Kfixes
 check_PROGRAMS = @MAKE_CHECK_Y2K@
@@ -133,6 +137,7 @@ ntpd_SOURCES =                      \
        cmd_args.c              \
        ntp_config.c            \
        ntp_data_structures.c   \
+       ntp_keyword.h           \
        ntp_io.c                \
        ntp_parser.y            \
        ntp_scanner.c           \
@@ -208,19 +213,26 @@ libntpd_a_SOURCES =               \
        refclock_zyfer.c        \
        $(NULL)
 
-ntp_keyword.out: keyword-gen
-       ./keyword-gen $(srcdir)/ntp_parser.h > $@
-       grep -v diff_ignore_line < $(srcdir)/ntp_keyword.h > cmp1
-       grep -v diff_ignore_line < $@ > cmp2
-       cmp cmp1 cmp2 > /dev/null || cp $@ $(srcdir)/ntp_keyword.h
-       rm cmp1 cmp2
+k-g-u-submake: keyword-gen
+       ./keyword-gen $(srcdir)/ntp_parser.h > k-g.out
+       @grep -v diff_ignore_line < k-g.out > cmp1
+       @grep -v diff_ignore_line < $(srcdir)/ntp_keyword.h > cmp2
+       @cmp cmp1 cmp2 > /dev/null || \
+               { mv -f k-g.out $(srcdir)/ntp_keyword.h && \
+                 echo 'Generated changed ntp_keyword.h.' ;}
+       @[ ! -f k-g.out ] || \
+               { rm k-g.out && echo 'ntp_keyword.h is up to date.' ;}
+       @rm cmp1 cmp2
+       @echo 'keyword-gen and ntp_keyword.h are up to date.' > $@
+
+$(srcdir)/keyword-gen-utd: $(srcdir)/keyword-gen.c $(srcdir)/ntp_parser.h
+       $(MAKE) k-g-u-submake   # avoid explicit dependency
+       grep -v diff_ignore_line $(srcdir)/ntp_keyword.h > k-g-u
+       mv -f k-g-u $@
        
-ntp_keyword.dummy:
-       echo stamp > $@
-
-$(srcdir)/ntp_keyword.h: $(NTP_KEYWORD_OUT)
+$(srcdir)/ntp_keyword.h: $(srcdir)/keyword-gen-utd
        @: do-nothing action to avoid default SCCS get
-       @: .h updated if needed by ntp_keyword.out rule
+       @: .h updated if needed by k-g-u-submake rule
 
 $(srcdir)/ntpd-opts.h: $(srcdir)/ntpd-opts.c
        @: do-nothing action to avoid default SCCS get, .h built with .c
@@ -245,13 +257,16 @@ compsave.conf: ntpd $(srcdir)/complete.conf
 check-saveconfig: $(srcdir)/complete.conf compsave.conf
        cmp $(srcdir)/complete.conf compsave.conf && echo stamp > $@
 
+../libopts/libopts.la:
+       cd ../libopts && $(MAKE) libopts.la
+
 ../libntp/libntp.a:
        cd ../libntp && $(MAKE) libntp.a
 
 ../libparse/libparse.a:
-       cd ../libparse && $(MAKE)
+       cd ../libparse && $(MAKE) libparse.a
 
-$(top_srcdir)/version :
+$(top_srcdir)/version:
        cd $(top_srcdir) && $(MAKE) version
 
 version.o: $(ntpd_OBJECTS) ../libntp/libntp.a @LIBPARSE@ Makefile $(top_srcdir)/version
diff --git a/ntpd/keyword-gen-utd b/ntpd/keyword-gen-utd
new file mode 100644 (file)
index 0000000..efbb800
--- /dev/null
@@ -0,0 +1 @@
+ *      Generated 2009-11-09 03:14:05 UTC        diff_ignore_line