Portable build framework for OpenNTPD
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

114 lines
3.9 KiB

8 years ago
  1. #
  2. # Copyright (c) 2014 Brent Cook
  3. # Parts based on Makefile.in from Portable OpenNTPD:
  4. # Copyright (c) 2004-2008 Darren Tucker.
  5. #
  6. # Permission to use, copy, modify, and distribute this software for any
  7. # purpose with or without fee is hereby granted, provided that the above
  8. # copyright notice and this permission notice appear in all copies.
  9. #
  10. # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  11. # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  12. # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  13. # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  14. # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  15. # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  16. # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  17. AM_CPPFLAGS = -I$(top_srcdir)/include
  18. AM_CPPFLAGS += -DYYSTYPE_IS_DECLARED
  19. ACLOCAL_AMFLAGS = -Im4
  20. CLEANFILES = parse.c
  21. sbin_PROGRAMS = ntpd
  22. dist_man_MANS = ntpctl.8 ntpd.8 ntpd.conf.5
  23. ntpd_CFLAGS = $(CFLAGS)
  24. ntpd_CFLAGS += -DSYSCONFDIR=\"$(sysconfdir)\"
  25. ntpd_CFLAGS += -DLOCALSTATEDIR=\"$(localstatedir)\"
  26. ntpd_LDADD = $(PLATFORM_LDADD) $(PROG_LDADD) -lm
  27. ntpd_LDADD += $(top_builddir)/compat/libcompat.la
  28. ntpd_LDADD += $(top_builddir)/compat/libcompatnoopt.la
  29. ntpd_SOURCES = client.c
  30. ntpd_SOURCES += config.c
  31. if HAVE_LIBTLS
  32. ntpd_SOURCES += constraint.c
  33. else
  34. ntpd_SOURCES += constraint-disabled.c
  35. endif
  36. ntpd_SOURCES += control.c
  37. ntpd_SOURCES += log.c
  38. ntpd_SOURCES += log.h
  39. ntpd_SOURCES += ntp.c
  40. ntpd_SOURCES += ntp.h
  41. ntpd_SOURCES += ntp_dns.c
  42. ntpd_SOURCES += ntp_msg.c
  43. ntpd_SOURCES += ntpd.c
  44. ntpd_SOURCES += ntpd.h
  45. ntpd_SOURCES += parse.y
  46. if HAVE_SENSORS
  47. ntpd_SOURCES += sensors.c
  48. else
  49. ntpd_SOURCES += fake-sensors.c
  50. endif
  51. ntpd_SOURCES += server.c
  52. ntpd_SOURCES += util.c
  53. install-exec-hook:
  54. @ln -f "$(DESTDIR)$(sbindir)/ntpd" "$(DESTDIR)$(sbindir)/ntpctl"
  55. @if [ ! -d "$(DESTDIR)$(sysconfdir)" ]; then \
  56. $(INSTALL) -m 755 -d "$(DESTDIR)$(sysconfdir)"; \
  57. fi
  58. @if [ ! -d "$(DESTDIR)$(localstatedir)/run" ]; then \
  59. $(INSTALL) -m 755 -d "$(DESTDIR)$(localstatedir)/run"; \
  60. fi
  61. @if [ ! -d "$(DESTDIR)$(localstatedir)/db" ]; then \
  62. $(INSTALL) -m 755 -d "$(DESTDIR)$(localstatedir)/db"; \
  63. fi
  64. @if [ ! -d "$(PRIVSEP_PATH)" ]; then \
  65. echo; \
  66. echo " Please created a privilege separation directory for ntpd." ; \
  67. echo " For OS X, see INSTALL for instructions." ; \
  68. echo " On Linux / BSD systems, this will probably work:"; \
  69. echo ; \
  70. echo " mkdir -p \"$(PRIVSEP_PATH)\"" ; \
  71. echo " chown 0 \"$(PRIVSEP_PATH)\"" ; \
  72. echo " chgrp 0 \"$(PRIVSEP_PATH)\"" ; \
  73. echo " chmod 0755 \"$(PRIVSEP_PATH)\"" ; \
  74. fi
  75. @if egrep "^$(PRIVSEP_USER):" /etc/group >/dev/null; then \
  76. : ; \
  77. else \
  78. echo; \
  79. echo " Please create a dedicated group for ntpd." ; \
  80. echo " For OS X, see INSTALL for instructions." ; \
  81. echo " On Linux / BSD systems, this will probably work:"; \
  82. echo ; \
  83. echo " groupadd $(PRIVSEP_USER)" ; \
  84. fi
  85. @if egrep "^$(PRIVSEP_USER):" /etc/passwd >/dev/null; then \
  86. : ; \
  87. else \
  88. echo; \
  89. echo " Please create a dedicated user for ntpd and ensure it" ; \
  90. echo " cannot be used to log in." ; \
  91. echo " For OS X, see INSTALL for instructions." ; \
  92. echo " On Linux / BSD systems, this will probably work:" ; \
  93. echo ; \
  94. echo " useradd -g $(PRIVSEP_USER) -s /sbin/nologin -d $(PRIVSEP_PATH) -c 'OpenNTP daemon' $(PRIVSEP_USER)" ; \
  95. fi
  96. @if [ -d $(PRIVSEP_PATH) ]; then \
  97. if [ `ls -A $(PRIVSEP_PATH)|wc -l` != "0" ]; then \
  98. echo; \
  99. echo " WARNING: the privilege separation path is specified as $(PRIVSEP_PATH), " ; \
  100. echo " but this directory contains files!" ; \
  101. echo ; \
  102. echo " Please ensure that $(PRIVSEP_PATH) is empty. If you installed a previous " ; \
  103. echo " OpenNTPD version and created a user with a home directory at /var/empty/ntpd, " ; \
  104. echo " please adjust that user to use /var/empty instead and delete /var/empty/ntpd." ; \
  105. fi; \
  106. fi
  107. @echo