Makefile.in 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. # $Id$
  2. CFLAGS = @CFLAGS@
  3. LDFLAGS = @LDFLAGS@ @POW_LDFLAGS@
  4. LIBS = @LIBS@
  5. PYTHON = @PYTHON@
  6. INSTALL = @INSTALL@ -m 555
  7. TRANG = @TRANG@
  8. SUDO = @SUDO@
  9. prefix = @prefix@
  10. exec_prefix = @exec_prefix@
  11. datarootdir = @datarootdir@
  12. datadir = @datadir@
  13. localstatedir = @localstatedir@
  14. sharedstatedir = @sharedstatedir@
  15. sysconfdir = @sysconfdir@
  16. bindir = @bindir@
  17. sbindir = @sbindir@
  18. libexecdir = @libexecdir@
  19. sysconfdir = @sysconfdir@
  20. abs_builddir = @abs_builddir@
  21. abs_top_srcdir = @abs_top_srcdir@
  22. abs_top_builddir= @abs_top_builddir@
  23. srcdir = @srcdir@
  24. OPENSSL_TARGET = @OPENSSL_TARGET@
  25. RP_TARGET = @RP_TARGET@
  26. CA_TARGET = @CA_TARGET@
  27. WSGI_DAEMON_PROCESS = @WSGI_DAEMON_PROCESS@
  28. WSGI_PROCESS_GROUP = @WSGI_PROCESS_GROUP@
  29. RCYNIC_DIR = @RCYNIC_DIR@
  30. RPKI_USER = @RPKI_USER@
  31. RPKI_GROUP = @RPKI_GROUP@
  32. RCYNIC_HTML_DIR = @RCYNIC_HTML_DIR@
  33. RRDTOOL = @RRDTOOL@
  34. APACHE_VERSION = @APACHE_VERSION@
  35. WSGI_PYTHON_EGG_CACHE_DIR = @WSGI_PYTHON_EGG_CACHE_DIR@
  36. WSGI_PYTHON_EGG_CACHE_USER = @WSGI_PYTHON_EGG_CACHE_USER@
  37. SETUP_PY_INSTALL_LAYOUT = @SETUP_PY_INSTALL_LAYOUT@
  38. SETUP_PY_ROOT = `${PYTHON} -c 'import sys; print "--root " + sys.argv[1] if sys.argv[1] else ""' '${DESTDIR}'`
  39. POW_SO = rpki/POW/_POW.so
  40. RNGS = schemas/relaxng/left-right.rng \
  41. schemas/relaxng/up-down.rng \
  42. schemas/relaxng/publication.rng \
  43. schemas/relaxng/publication-control.rng \
  44. schemas/relaxng/myrpki.rng \
  45. schemas/relaxng/router-certificate.rng \
  46. schemas/relaxng/rrdp.rng \
  47. schemas/relaxng/oob-setup.rng
  48. default: all
  49. all: VERSION rpki/autoconf.py setup_autoconf.py
  50. clean:
  51. rm -rf build dist autom4te.cache rpki/autoconf.py setup_autoconf.py setup_autoconf.pyc
  52. test: all
  53. distclean: clean
  54. rm -f Makefile config.log config.status
  55. uninstall: deinstall
  56. all: ${OPENSSL_TARGET}-all rpki-all ${RP_TARGET}-all ${CA_TARGET}-all
  57. clean: ${OPENSSL_TARGET}-clean rpki-clean ${RP_TARGET}-clean ${CA_TARGET}-clean
  58. test: ${OPENSSL_TARGET}-test rpki-test ${RP_TARGET}-test ${CA_TARGET}-test
  59. distclean: ${OPENSSL_TARGET}-distclean rpki-distclean ${RP_TARGET}-distclean ${CA_TARGET}-distclean
  60. install: rpki-install ${RP_TARGET}-install ${CA_TARGET}-install
  61. deinstall: rpki-deinstall ${RP_TARGET}-deinstall ${CA_TARGET}-deinstall
  62. openssl-all: ; cd openssl; ${MAKE} all
  63. openssl-clean: ; cd openssl; ${MAKE} clean
  64. openssl-test: ; cd openssl; ${MAKE} test
  65. openssl-distclean: ; cd openssl; ${MAKE} distclean
  66. rp-all: ; cd rp; ${MAKE} all
  67. rp-clean: ; cd rp; ${MAKE} clean
  68. rp-test: ; cd rp; ${MAKE} test
  69. rp-distclean: ; cd rp; ${MAKE} distclean
  70. rp-install: ; cd rp; ${MAKE} install
  71. rp-deinstall: ; cd rp; ${MAKE} deinstall
  72. ca-all: ; cd ca; ${MAKE} all
  73. ca-clean: ; cd ca; ${MAKE} clean
  74. ca-test: ; cd ca; ${MAKE} test
  75. ca-distclean: ; cd ca; ${MAKE} distclean
  76. ca-install: ; cd ca; ${MAKE} install
  77. ca-deinstall: ; cd ca; ${MAKE} deinstall
  78. noop-all noop-clean noop-test noop-distclean noop-install noop-deinstall:
  79. @true
  80. rpki-all: \
  81. setup_autoconf.py \
  82. ${RNGS} \
  83. ${abs_top_srcdir}/h/rpki/sk_manifest.h \
  84. ${abs_top_srcdir}/h/rpki/sk_roa.h \
  85. ${abs_top_srcdir}/rpki/relaxng.py \
  86. ${POW_SO} \
  87. build/stamp
  88. rpki-clean:
  89. rm -rf build dist ${POW_SO} h/rpki/*.h.tmp rpki/*.py.tmp
  90. find . -type f -name '*.py[co]' -delete
  91. rpki-test: all
  92. @echo Running unit tests
  93. PWD=`pwd`; for i in rpki/*.py; do echo "[$$i]"; PYTHONPATH=$$PWD ${PYTHON} $$i; done
  94. rpki-distclean:
  95. rm -f installed
  96. rpki-install:
  97. ${PYTHON} setup.py install ${SETUP_PY_ROOT} ${SETUP_PY_INSTALL_LAYOUT} --record installed
  98. rpki-deinstall:
  99. xargs rm -fv <installed
  100. VERSION: .FORCE
  101. ${PYTHON} buildtools/make-version.py
  102. rpki/autoconf.py: Makefile
  103. @echo 'Generating $@'; \
  104. (echo '# Automatically generated. DO NOT EDIT.'; \
  105. echo ; \
  106. echo 'bindir = "${bindir}"'; \
  107. echo 'datarootdir = "${datarootdir}"'; \
  108. echo 'localstatedir = "${localstatedir}"'; \
  109. echo 'sbindir = "${sbindir}"'; \
  110. echo 'sharedstatedir = "${sharedstatedir}"'; \
  111. echo 'sysconfdir = "${sysconfdir}"'; \
  112. echo 'libexecdir = "${libexecdir}"'; \
  113. echo ; \
  114. echo 'WSGI_DAEMON_PROCESS = "${WSGI_DAEMON_PROCESS}"'; \
  115. echo 'WSGI_PROCESS_GROUP = "${WSGI_PROCESS_GROUP}"'; \
  116. echo 'RCYNIC_DIR = "${RCYNIC_DIR}"'; \
  117. echo 'RPKI_USER = "${RPKI_USER}"'; \
  118. echo 'RPKI_GROUP = "${RPKI_GROUP}"'; \
  119. echo 'RCYNIC_HTML_DIR = "${RCYNIC_HTML_DIR}"'; \
  120. echo 'RRDTOOL = "${RRDTOOL}"'; \
  121. echo 'APACHE_VERSION = "${APACHE_VERSION}"'; \
  122. echo 'WSGI_PYTHON_EGG_CACHE_DIR = "${WSGI_PYTHON_EGG_CACHE_DIR}"'; \
  123. echo 'WSGI_PYTHON_EGG_CACHE_USER = "${WSGI_PYTHON_EGG_CACHE_USER}"'; \
  124. echo 'SUDO = "${SUDO}"'; \
  125. ) > $@
  126. setup_autoconf.py: rpki/autoconf.py
  127. @echo 'Generating $@'; \
  128. (cat rpki/autoconf.py; \
  129. echo ; \
  130. echo 'CFLAGS = """${CFLAGS}"""'; \
  131. echo 'LDFLAGS = """${LDFLAGS}"""'; \
  132. echo 'LIBS = """${LIBS}"""'; \
  133. echo 'RP_TARGET = """${RP_TARGET}"""'; \
  134. echo 'CA_TARGET = """${CA_TARGET}"""'; \
  135. ) > $@
  136. .FORCE:
  137. ${POW_SO}: .FORCE setup_autoconf.py
  138. ${PYTHON} setup.py build_ext --inplace
  139. build/stamp: .FORCE setup_autoconf.py
  140. ${PYTHON} setup.py build
  141. touch $@
  142. ${abs_top_srcdir}/h/rpki/sk_manifest.h: ${abs_top_srcdir}/h/rpki/manifest.h
  143. ${PYTHON} buildtools/defstack.py h/rpki/manifest.h >$@.tmp
  144. mv $@.tmp $@
  145. ${abs_top_srcdir}/h/rpki/sk_roa.h: ${abs_top_srcdir}/h/rpki/roa.h
  146. ${PYTHON} buildtools/defstack.py h/rpki/roa.h >$@.tmp
  147. mv $@.tmp $@
  148. ${abs_top_srcdir}/rpki/relaxng.py: buildtools/make-relaxng.py ${RNGS}
  149. cd schemas/relaxng; ${PYTHON} ${abs_top_srcdir}/buildtools/make-relaxng.py *.rng >$@.tmp
  150. mv $@.tmp $@
  151. schemas/relaxng/left-right.rng: schemas/relaxng/left-right.rnc
  152. ${TRANG} schemas/relaxng/left-right.rnc schemas/relaxng/left-right.rng
  153. schemas/relaxng/up-down.rng: schemas/relaxng/up-down.rnc
  154. ${TRANG} schemas/relaxng/up-down.rnc schemas/relaxng/up-down.rng
  155. schemas/relaxng/publication.rng: schemas/relaxng/publication.rnc
  156. ${TRANG} schemas/relaxng/publication.rnc schemas/relaxng/publication.rng
  157. schemas/relaxng/publication-control.rng: schemas/relaxng/publication-control.rnc
  158. ${TRANG} schemas/relaxng/publication-control.rnc schemas/relaxng/publication-control.rng
  159. schemas/relaxng/myrpki.rng: schemas/relaxng/myrpki.rnc
  160. ${TRANG} schemas/relaxng/myrpki.rnc schemas/relaxng/myrpki.rng
  161. schemas/relaxng/router-certificate.rng: schemas/relaxng/router-certificate.rnc
  162. ${TRANG} schemas/relaxng/router-certificate.rnc schemas/relaxng/router-certificate.rng
  163. schemas/relaxng/rrdp.rng: schemas/relaxng/rrdp.rnc
  164. ${TRANG} schemas/relaxng/rrdp.rnc schemas/relaxng/rrdp.rng
  165. schemas/relaxng/oob-setup.rng: schemas/relaxng/oob-setup.rnc
  166. ${TRANG} schemas/relaxng/oob-setup.rnc schemas/relaxng/oob-setup.rng
  167. # Eg: PYLINT_FLAGS='--disable=W0311'
  168. lint: .FORCE
  169. pylint --rcfile ${abs_top_srcdir}/buildtools/pylint.rc ${PYLINT_FLAGS} rpki `find rp ca -type f -perm -1 ! -name '*~' -print | xargs grep -El '^#!.+python'`
  170. tags: Makefile .FORCE
  171. { find rpki rp ca schemas -type f \( -name '*.[ch]' -o -name '*.py' -o -name '*.sql' -o -name '*.rnc' \) ! -name relaxng.py -print; find rp ca -type f -perm -1 ! -name '*~' -print | xargs grep -El '^#!.+python'; } | etags -
  172. makemigrations:
  173. PYTHONPATH=. RPKI_CONF=makemigrations.conf.$$$$ TEMP_DB=makemigrations.db.$$$$; export PYTHONPATH RPKI_CONF TEMP_DB; trap "rm -f $$RPKI_CONF $$TEMP_DB" 0; \
  174. ${PYTHON} rp/config/rpki-confgen --read-xml rp/config/rpki-confgen.xml --autoconf --set myrpki::shared_sql_engine=sqlite3 \
  175. --set myrpki::rpkid_sql_database=$$TEMP_DB --set myrpki::irdbd_sql_database=$$TEMP_DB --set myrpki::pubd_sql_database=$$TEMP_DB \
  176. --pwgen myrpki::shared_sql_password --pwgen web_portal::secret-key --write-conf $$RPKI_CONF; \
  177. for i in rpkid pubd irdb rcynic; do django-admin makemigrations --settings rpki.django_settings.$$i; done
  178. .FORCE: