summaryrefslogtreecommitdiffstats
path: root/usr.sbin/xntpd/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/xntpd/Makefile')
-rw-r--r--usr.sbin/xntpd/Makefile359
1 files changed, 359 insertions, 0 deletions
diff --git a/usr.sbin/xntpd/Makefile b/usr.sbin/xntpd/Makefile
new file mode 100644
index 0000000..30e59bb
--- /dev/null
+++ b/usr.sbin/xntpd/Makefile
@@ -0,0 +1,359 @@
+# WARNING:
+# CONTENTS UNDER PRESSURE.
+# HIGHLY FLAMMABLE.
+# RISK OF SHOCK.
+# DO NOT ATTEMPT TO OPEN COVER.
+# NO USER SERVICEABLE PARTS INSIDE.
+# REFER SERVICING TO QUALIFIED PERSONNEL.
+#
+# The vendor hits you...
+# You try to hit the vendor...
+# You die.
+#
+# Unfortunately the above is no fun...
+#
+# During testing/porting we have found a long list
+# of "make" and "sh" and "awk" features in different implementations.
+# Some goodies (make good horror stories for your kids 8-():
+# gmake 3.62
+# non standard target construction
+#
+# pmake (e. g. NetBSD on MAC, possible other BNR2+pmake systems)
+# skips '' (empty string positional) args to sh
+# (this leads to following stupid constructions
+# sh -c "./scripts/makeconfig.sh '$(OS)' '$(COMP)'")
+#
+# Following Makefile construction fails for no
+# apparent reason (at least to me)
+# doit:
+# $(MAKE) MAKE=\"$(MAKE)\" all
+#
+# all:
+# @echo all done.
+#
+# for the "make MAKE=make" call not for "make" or
+# "make -e MAKE=make". Use the last form if you suffer
+# from that kind of make problems. (Easily detected
+# by failure to build with the message:
+# "don't know how to make make".
+#
+# sh (Ultrix 4.2 MIPS)
+# shell broken (reversed pipe construction "false | true"
+# returns false - major bummer)
+#
+# awk (EP/IX 2.?)
+# unable to do regexp matches
+# (aka awk '/..*/ { print; }' fails on match)
+#
+# Usually the vendor should fix these bugs in vital utilities.
+# We try to circumvent these bugs in a hopefully portable way.
+# If you can reproduce these bugs on your system please bug your
+# vendor to fix them. We are not trying anything fancy in here and
+# we are shocked that even the most common tools fail so miserably.
+# By the time you get this code the above utilities may already
+# have been fixed. Hopefully one day we do not have to cope with
+# this kind of broken utilities.
+#
+# Sorry about the situation,
+# Frank Kardel
+#
+SHELL=/bin/sh
+CONF = Config
+CONFL = $(CONF).local
+CONFLD= $(CONFL).dist
+TARGETS = xntpd/xntpd xntpdc/xntpdc ntpq/ntpq ntpdate/ntpdate \
+ ntptrace/ntptrace xntpres/xntpres authstuff/authspeed util/tickadj
+OPTTARG = adjtime/adjtimed util/ntptime util/precision
+REFCONF=
+COMPRESSOR=compress
+# Base distribution name (will be extended by <VERSION>.tar.<comperssorsuffix>)
+DISTNAME=xntp-
+MAKE= make
+
+all: version $(TARGETS) kernel_modules
+
+$(TARGETS): VERSION $(CONF)
+
+version:
+ @echo '### Building XNTP:' "`egrep '^.*=.*$$' VERSION | tr '\012' ';'`"
+
+makeconfig:
+ sh -c "./scripts/makeconfig.sh '$(OS)' '$(COMP)'"
+
+$(CONFL).NO.clock:
+ @echo '###' creating $(CONFL) for absolutely '*NO*' clocks '*AT ALL*'
+ rm -f $(CONFL)-t $(CONFL)
+ cat < $(CONFLD) > $(CONFL)-t && mv $(CONFL)-t $(CONFL)
+
+$(CONFL).green:
+ @echo '###' creating $(CONFL) for greenhorns '(local refclock only)'
+ rm -f $(CONFL)-t $(CONFL)
+ sed 's/#GREEN//' < $(CONFLD) > $(CONFL)-t && mv $(CONFL)-t $(CONFL)
+
+$(CONFL):
+ @echo ''
+ @echo '### creating a $(CONFL) file as none existed.'
+ @echo '### Use "make refconf" if you have a radio clock'
+ @echo ''
+ @$(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" $(CONFL).green
+
+$(CONF): $(CONFL)
+ @echo
+ @echo '###' creating new configuration
+ @sh -c "./scripts/makeconfig.sh '$(OS)' '$(COMP)'"
+
+refconf: $(CONF)
+ -@sh refclocks/rconfig '$(REFCONF)'
+ @sh -c "./scripts/makeconfig.sh '$(OS)' '$(COMP)'"
+
+kernel_modules: kernel/Makefile
+ @cd kernel && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)"
+
+xntpd/xntpd: lib/libntp.a parse/libparse.a xntpd/Makefile FRC
+ @echo
+ @echo '###' creating NTP daemon
+ @cd xntpd && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)"
+
+xntpdc/xntpdc: lib/libntp.a xntpdc/Makefile FRC
+ @echo
+ @echo '###' creating XNTPDC utility
+ @cd xntpdc && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)"
+
+ntpq/ntpq: lib/libntp.a ntpq/Makefile FRC
+ @echo
+ @echo '###' creating NTPQ utility
+ @cd ntpq && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)"
+
+ntptrace/ntptrace: lib/libntp.a ntptrace/Makefile FRC
+ @echo
+ @echo '###' creating NTPTRACE utility
+ @cd ntptrace && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)"
+
+ntpdate/ntpdate: lib/libntp.a ntpdate/Makefile FRC
+ @echo
+ @echo '###' creating NTPDATE utility
+ @cd ntpdate && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)"
+
+authstuff/authspeed: lib/libntp.a authstuff/Makefile FRC
+ @echo
+ @echo '###' creating AUTH utilities
+ @cd authstuff && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)"
+
+xntpres/xntpres: lib/libntp.a xntpres/Makefile FRC
+ @echo
+ @echo '###' creating XNTPRES utility
+ @cd xntpres && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)"
+
+util/tickadj: util/Makefile FRC
+ @echo
+ @echo '###' creating TICKADJ utility
+ @cd util && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)"
+
+lib/libntp.a: lib/*.c lib/Makefile adjtime/Makefile
+ @echo
+ @echo '###' creating NTP library
+ @cd lib && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)"
+
+parse/libparse.a: parse/*.c parse/Makefile parse/util/Makefile lib/libntp.a
+ @echo
+ @echo '### creating PARSE subsystem (if configured)'
+ @cd parse && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)"
+
+FRC:
+
+savebin:
+ @test -d bin || mkdir bin
+ @echo
+ @echo '### saving $(TARGETS) $(OPTTARG) in bin'
+ -@for f in $(TARGETS) $(OPTTARG); \
+ do test -f $$f && mv $$f bin/. && echo "### saved $$f in bin/"; \
+ done; \
+ true
+
+neatneat:
+ @echo '###' cleaning derived config files
+ -@rm -f $(CONF).sed $(CONF)
+
+neat:
+ @echo '###' cleaning top level left overs
+ -@rm -f eddep makedep Makefile.bak make.log make.out
+
+distclean: neatneat clean
+ @echo '###' cleaning configuration dependent Makefiles
+ -@find . -name Makefile -print | \
+ while read X; do \
+ if [ -f "$$X.tmpl" ]; then \
+ rm -f "$$X"; \
+ else \
+ :; \
+ fi \
+ done
+ @echo '###' cleaning old scratch files
+ -@find . \( -name '*.rej' -o -name '*.orig' -o -name '*~' -o \
+ -name '.version' -o -name '#*' -o -name '.#*' -o \
+ -name core -o -name version.c \) -print | xargs rm -f
+ @echo '###' cleaning saved binaries
+ -@rm -fr bin
+
+clean: neat
+ @echo '###' cleaning adjtime
+ @cd adjtime && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)" -f Makefile.tmpl $@
+ @echo '###' cleaning authstuff
+ @cd authstuff && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" $@
+ @echo '###' cleaning clockstuff
+ @cd clockstuff && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" $@
+ @echo '###' cleaning lib
+ @cd lib && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" $@
+ @echo '###' cleaning ntpdate
+ @cd ntpdate && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" $@
+ @echo '###' cleaning ntpq
+ @cd ntpq && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" $@
+ @echo '###' cleaning ntptrace
+ @cd ntptrace && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" $@
+ @echo '###' cleaning util
+ @cd util && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" $@
+ @echo '###' cleaning xntpd
+ @cd xntpd && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" $@
+ @echo '###' cleaning xntpdc
+ @cd xntpdc && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" $@
+ @echo '###' cleaning xntpres
+ @cd xntpres && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" $@
+ @echo '###' cleaning parse
+ @cd parse && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" $@
+
+install: all
+ @echo installing from xntpd
+ @cd xntpd && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)" install
+ @echo installing from xntpdc
+ @cd xntpdc && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)" install
+ @echo installing from ntpq
+ @cd ntpq && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)" install
+ @echo installing from ntptrace
+ @cd ntptrace && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)" install
+ @echo installing from ntpdate
+ @cd ntpdate && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)" install
+ @echo installing from xntpres
+ @cd xntpres && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)" install
+ @echo installing from util
+ @cd util && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)" install
+ @echo installing from parse
+ @cd parse && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)" install
+
+dist:
+ @echo '### building distribution ...'
+ @$(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" MAKE="$(MAKE)" distclean
+ @DISTVERSION="`sed -e 's/^[ ]*[Vv][Ee][Rr][Ss][Ii][Oo][Nn][ ]*=\(.*\)$$/\1/' VERSION | \
+ sed -e 's/[^0-9a-zA-Z\.]/_/g; s/__*/_/g; s/_*$$//'`" && \
+ echo "### creating distribution file $(DISTNAME)$${DISTVERSION}.tar" && \
+ rm -f $(DISTNAME)$${DISTVERSION}.tar $(DISTNAME)$${DISTVERSION}.tar.* && \
+ tar cfv $(DISTNAME)$${DISTVERSION}.tar `ls | egrep -v "^$(CONFL)$$|^$(DISTNAME)$${DISTVERSION}.tar$$"` && \
+ $(COMPRESSOR) -v $(DISTNAME)$${DISTVERSION}.tar
+
+$(CONF).sed: $(CONF) Makefile
+ @sed -n -e 's:^\([^ ]*\)=[ ]*\(.*\):s~^\1=.*~&~:p' < $(CONF) > $@
+
+depend:
+ find . -name Makefile.tmpl -print > eddep
+ echo >> makedep
+ sed -e 's:^\./::' -e '/^Makefile/d' \
+ -e h \
+ -e 's/^\(.*\)\.tmpl$$/\1: \1.tmpl $${CONF}.sed/' -e p -e g \
+ -e 's/.*/ @echo/' -e p -e g \
+ -e 's:^\(.*\)/Makefile\.tmpl$$: @echo '"'###'"' updating Makefile in \1:' -e p -e g \
+ -e 's/.*/ @sed -f $${CONF}.sed < $$@.tmpl > $$@/' -e p -e g \
+ -e 's:^\(.*\)/Makefile\.tmpl$$: @echo '"'###'"' cleaning in \1:' -e p -e g \
+ -e 's:^\(.*\)/Makefile\.tmpl$$: @cd \1 \&\& $$(MAKE) $$(MFLAGS) MFLAGS="$$(MFLAGS)" -f Makefile.tmpl MAKE="$$(MAKE)" clean:p' \
+ < eddep >> makedep
+ echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
+ echo '$$r makedep' >>eddep
+ echo 'w' >>eddep
+ cp Makefile Makefile.bak
+ /bin/ed - Makefile < eddep
+ rm eddep makedep
+
+# DO NOT DELETE THIS LINE -- It is used by 'make depend' to update this file
+
+adjtime/Makefile: adjtime/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in adjtime
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in adjtime
+ @cd adjtime && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+authstuff/Makefile: authstuff/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in authstuff
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in authstuff
+ @cd authstuff && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+clockstuff/Makefile: clockstuff/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in clockstuff
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in clockstuff
+ @cd clockstuff && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+kernel/Makefile: kernel/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in kernel
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in kernel
+ @cd kernel && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+lib/Makefile: lib/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in lib
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in lib
+ @cd lib && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+ntpdate/Makefile: ntpdate/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in ntpdate
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in ntpdate
+ @cd ntpdate && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+ntpq/Makefile: ntpq/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in ntpq
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in ntpq
+ @cd ntpq && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+ntptrace/Makefile: ntptrace/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in ntptrace
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in ntptrace
+ @cd ntptrace && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+util/Makefile: util/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in util
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in util
+ @cd util && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+xntpd/Makefile: xntpd/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in xntpd
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in xntpd
+ @cd xntpd && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+xntpdc/Makefile: xntpdc/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in xntpdc
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in xntpdc
+ @cd xntpdc && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+xntpres/Makefile: xntpres/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in xntpres
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in xntpres
+ @cd xntpres && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+parse/util/Makefile: parse/util/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in parse/util
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in parse/util
+ @cd parse/util && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
+parse/Makefile: parse/Makefile.tmpl ${CONF}.sed
+ @echo
+ @echo '###' updating Makefile in parse
+ @sed -f ${CONF}.sed < $@.tmpl > $@
+ @echo '###' cleaning in parse
+ @cd parse && $(MAKE) $(MFLAGS) MFLAGS="$(MFLAGS)" -f Makefile.tmpl MAKE="$(MAKE)" clean
OpenPOWER on IntegriCloud