# $Id$ SUBDIRS = portal-gui PYTHON = @PYTHON@ TRANG = @TRANG@ SECRET_KEY = @SECRET_KEY@ DJANGO_DIR = @DJANGO_DIR@ VIRTUAL_ENV = @VIRTUAL_ENV@ DJANGO_ADMIN = @DJANGO_ADMIN@ CFLAGS = @CFLAGS@ LDFLAGS = @LDFLAGS@ @POW_LDFLAGS@ LIBS = @LIBS@ INSTALL = @INSTALL@ -m 555 prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localstatedir = @localstatedir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ bindir = @bindir@ sbindir = @sbindir@ libexecdir = @libexecdir@ sysconfdir = @sysconfdir@ abs_builddir = @abs_builddir@ abs_top_srcdir = @abs_top_srcdir@ abs_top_builddir= @abs_top_builddir@ srcdir = @srcdir@ SETUP_PY_INSTALL_LAYOUT = @SETUP_PY_INSTALL_LAYOUT@ # PID files seem to go into /var/run/ on every platform we support. # We could make this an autoconf substitution if anything ever cares, # but let's keep it simple for now. PID_DIR = ${DESTDIR}/var/run/rpkid SETUP_PY = \ AC_CFLAGS='${CFLAGS}' \ AC_LDFLAGS='${LDFLAGS}' \ AC_LIBS='${LIBS}' \ AC_SBINDIR='${sbindir}' \ AC_SCRIPTS='${SCRIPTS}' \ AC_ABS_BUILDDIR='${abs_builddir}' \ AC_LIBEXECDIR='${libexecdir}' \ AC_AUX_SCRIPTS='${AUX_SCRIPTS}' \ ${PYTHON} setup.py SETUP_PY_ROOT = `${PYTHON} -c 'import sys; print "--root " + sys.argv[1] if sys.argv[1] else ""' '${DESTDIR}'` POW_SO = rpki/POW/_POW.so SCRIPTS = rpki-sql-backup rpki-sql-setup rpki-start-servers irbe_cli irdbd \ pubd rootd rpkic rpkid \ portal-gui/scripts/rpkigui-rcynic \ portal-gui/scripts/rpkigui-import-routes \ portal-gui/scripts/rpkigui-check-expired \ portal-gui/scripts/rpki-manage # scripts we build, but don't install BUILD_SCRIPTS = portal-gui/scripts/rpkigui-reset-demo AUX_SCRIPTS = SETTINGS = portal-gui/settings.py portal-gui/rpki.wsgi all:: ${POW_SO} rpki/relaxng.py myrpki.rng rpki/sql_schemas.py ${SCRIPTS} ${AUX_SCRIPTS} ${SETTINGS} ${BUILD_SCRIPTS} ${POW_SO}: ext/POW.c setup.py ${SETUP_PY} build_ext --inplace clean:: rm -rf ${POW_SO} build dist rpm deb:: all ${SETUP_PY} bdist_rpm deb:: cd dist; for i in *.rpm; do case $$i in *.src.rpm) :;; *) (set -x; fakeroot alien -v $$i);; esac; done RNGS = left-right-schema.rng up-down-schema.rng publication-schema.rng myrpki.rng rpki/relaxng.py: ${abs_top_srcdir}/buildtools/make-relaxng.py ${RNGS} ${PYTHON} ${abs_top_srcdir}/buildtools/make-relaxng.py ${RNGS} >$@.tmp mv $@.tmp $@ left-right-schema.rng: left-right-schema.rnc ${TRANG} left-right-schema.rnc left-right-schema.rng up-down-schema.rng: up-down-schema.rnc ${TRANG} up-down-schema.rnc up-down-schema.rng publication-schema.rng: publication-schema.rnc ${TRANG} publication-schema.rnc publication-schema.rng myrpki.rng: myrpki.rnc ${TRANG} myrpki.rnc myrpki.rng rpki/sql_schemas.py: ${abs_top_srcdir}/buildtools/make-sql-schemas.py rpkid.sql pubd.sql ${PYTHON} ${abs_top_srcdir}/buildtools/make-sql-schemas.py >$@.tmp mv $@.tmp $@ clean:: find . -type f -name '*.py[co]' -delete cd tests; $(MAKE) $@ rm -f ${SCRIPTS} ${AUX_SCRIPTS} ${SETTINGS} ${BUILD_SCRIPTS} install:: all ${SETUP_PY} install ${SETUP_PY_ROOT} ${SETUP_PY_INSTALL_LAYOUT} --record installed @echo @echo "== Default configuration file location is ${sysconfdir}/rpki.conf ==" @echo # # We used to do this, but Debian/Ubuntu lintian complained that # /var/run may be a temporary filesystem, thus directories like this # should be created at boot. Fair point. # # if test -d ${PID_DIR}; then :; else ${INSTALL} -d ${PID_DIR}; fi uninstall deinstall:: xargs rm -fv $@ doc/rpkid.dot: rpkid.sql sh ${abs_top_srcdir}/buildtools/graphviz-sql.sh $? >$@ .SUFFIXES: .dot .png .pdf .eps .dot.pdf: dot -Tps2 $? | ps2pdf - $@ .dot.eps: dot -o $@ -Teps $? .dot.png: dot -o $@ -Tpng $? dot: doc/pubd.dot doc/rpkid.dot eps: doc/pubd.eps doc/rpkid.eps doc/rpkid-bpki.eps doc/pubd-bpki.eps png: doc/pubd.png doc/rpkid.png doc/rpkid-bpki.png doc/pubd-bpki.png pdf: doc/pubd.pdf doc/rpkid.pdf doc/rpkid-bpki.pdf doc/pubd-bpki.pdf docclean: rm -rf doc/html doc/latex doc/xml rm -f doc/*.eps doc/*.pdf doc/*.png rm -f doc/pubd.dot doc/rpkid.dot html: dot eps png TZ='' IMAGE_PATH=${abs_builddir}/doc doxygen docs: dot eps png html pdf ## distclean:: clean docclean cd tests; ${MAKE} $@ rm -f TAGS Makefile all install clean test distclean deinstall uninstall:: @for i in ${SUBDIRS}; do echo "Making $@ in $$i"; (cd $$i && ${MAKE} $@); done all:: rpki.conf.sample rpki.conf.sample: sed -e 's=@HANDLE@='`hostname | sed 's=[.]=_=g'`'=' \ -e 's=@DATAROOTDIR@=${datarootdir}=' \ examples/rpki.conf >$@ install:: ${INSTALL} rpki.conf.sample ${DESTDIR}${sysconfdir}/rpki.conf.sample ${INSTALL} -d ${DESTDIR}${datarootdir}/rpki/publication clean:: rm -f rpki.conf.sample # Scripts COMPILE_PYTHON = \ rm -f $@; \ AC_PYTHON_INTERPRETER='${PYTHON}' \ AC_RPKI_CONFIG_DIR='${sysconfdir}' \ ${PYTHON} ${abs_top_srcdir}/buildtools/make-python-executable.py <$? >$@; \ chmod 555 $@ COMPILE_DJANGO = \ rm -f $@; \ AC_PYTHON_INTERPRETER='${PYTHON}' \ AC_PYTHONPATH='${sysconfdir}/rpki' \ ${PYTHON} ${abs_top_srcdir}/buildtools/make-django-script.py <$? >$@; \ chmod 555 $@ COMPILE_SETTINGS = \ rm -f $@; \ AC_SECRET_KEY='${SECRET_KEY}' \ AC_LOCALSTATEDIR='${localstatedir}' \ AC_DATAROOTDIR='${datarootdir}' \ AC_DJANGO_DIR='${DJANGO_DIR}' \ AC_SYSCONFDIR='${sysconfdir}' \ ${PYTHON} ${abs_top_srcdir}/buildtools/subst-vars.py <$? >$@ rpki-sql-backup: rpki-sql-backup.py ${COMPILE_PYTHON} rpki-sql-setup: rpki-sql-setup.py ${COMPILE_PYTHON} rpki-start-servers: rpki-start-servers.py ${COMPILE_PYTHON} irbe_cli: irbe_cli.py ${COMPILE_PYTHON} irdbd: irdbd.py ${COMPILE_PYTHON} pubd: pubd.py ${COMPILE_PYTHON} rootd: rootd.py ${COMPILE_PYTHON} rpkic: rpkic.py ${COMPILE_PYTHON} rpkid: rpkid.py ${COMPILE_PYTHON} portal-gui/scripts/rpkigui-rcynic: portal-gui/scripts/rpkigui-rcynic.py ${COMPILE_DJANGO} portal-gui/scripts/rpkigui-import-routes: portal-gui/scripts/rpkigui-import-routes.py ${COMPILE_DJANGO} portal-gui/scripts/rpkigui-reset-demo: portal-gui/scripts/rpkigui-reset-demo.py ${COMPILE_DJANGO} portal-gui/scripts/rpkigui-check-expired: portal-gui/scripts/rpkigui-check-expired.py ${COMPILE_DJANGO} portal-gui/rpki.wsgi: ${srcdir}/portal-gui/rpki.wsgi.in sed -e "s|@VIRTUAL"_"ENV@|${VIRTUAL_ENV}|" \ -e "s|@PYTHON""PATH@|${sysconfdir}/rpki|" \ ${srcdir}/portal-gui/rpki.wsgi.in > portal-gui/rpki.wsgi portal-gui/settings.py: ${srcdir}/portal-gui/settings.py.in ${COMPILE_SETTINGS} portal-gui/scripts/rpki-manage: ${srcdir}/portal-gui/scripts/rpki-manage.in sed -e "s|@DJANGO""_ADMIN@|${DJANGO_ADMIN}|" \ -e "s|@PYTHON""PATH@|${sysconfdir}/rpki|" \ ${srcdir}/portal-gui/scripts/rpki-manage.in > portal-gui/scripts/rpki-manage chmod 755 $@