145 lines
4.2 KiB
Makefile
145 lines
4.2 KiB
Makefile
#
|
|
# $Id$
|
|
#
|
|
# Copyright 2014, Juniper Networks, Inc.
|
|
# All rights reserved.
|
|
# This SOFTWARE is licensed under the LICENSE provided in the
|
|
# ../Copyright file. By downloading, installing, copying, or otherwise
|
|
# using the SOFTWARE, you agree to be bound by the terms of that
|
|
# LICENSE.
|
|
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
SUBDIRS = bin libxo xo xopo xolint xohtml tests doc encoder
|
|
bin_SCRIPTS=libxo-config
|
|
dist_doc_DATA = Copyright
|
|
|
|
EXTRA_DIST = \
|
|
libxo-config.in \
|
|
warnings.mk \
|
|
README.md \
|
|
INSTALL.md \
|
|
packaging/libxo.spec
|
|
|
|
.PHONY: test tests
|
|
|
|
test tests:
|
|
@(cd tests ; ${MAKE} test)
|
|
|
|
errors:
|
|
@(cd tests/errors ; ${MAKE} test)
|
|
|
|
docs:
|
|
@(cd doc ; ${MAKE} docs)
|
|
|
|
DIST_FILES_DIR = ~/Dropbox/dist-files/
|
|
GH_PAGES_DIR = gh-pages/
|
|
GH_PAGES_DIR_VER = gh-pages/${PACKAGE_VERSION}
|
|
PACKAGE_FILE = ${PACKAGE_TARNAME}-${PACKAGE_VERSION}.tar.gz
|
|
|
|
XOHTML_FILES = \
|
|
${top_srcdir}/xohtml/xohtml.css \
|
|
${top_srcdir}/xohtml/xohtml.js \
|
|
${top_srcdir}/xohtml/external/jquery.js \
|
|
${top_srcdir}/xohtml/external/jquery.qtip.css \
|
|
${top_srcdir}/xohtml/external/jquery.qtip.js
|
|
|
|
upload: dist upload-docs upload-xohtml-files
|
|
@echo "Remember to run:"
|
|
@echo " gt tag ${PACKAGE_VERSION}"
|
|
|
|
upload-docs: docs upload-html
|
|
|
|
upload-html:
|
|
@echo "Uploading html ... "
|
|
@-[ -d ${GH_PAGES_DIR} -a -d doc/html ] \
|
|
&& echo "Updating html on gh-pages ..." \
|
|
&& mkdir -p ${GH_PAGES_DIR_VER}/html \
|
|
&& cp doc/top-link.html ${GH_PAGES_DIR}/libxo.html \
|
|
&& cp -r doc/html/* ${GH_PAGES_DIR_VER}/html/ \
|
|
&& (cd ${GH_PAGES_DIR} \
|
|
&& git add libxo.html \
|
|
&& git add ${PACKAGE_VERSION}/html \
|
|
&& git commit -m 'new docs' \
|
|
libxo.html ${PACKAGE_VERSION}/html \
|
|
&& git push origin gh-pages ) ; true
|
|
|
|
upload-xohtml-files:
|
|
@echo "Uploading xohtml files ... "
|
|
@-[ -d ${GH_PAGES_DIR} ] \
|
|
&& echo "Updating xohtml files on gh-pages ..." \
|
|
&& mkdir -p ${GH_PAGES_DIR_VER}/xohtml \
|
|
&& cp ${XOHTML_FILES} ${GH_PAGES_DIR_VER}/xohtml \
|
|
&& (cd ${GH_PAGES_DIR} \
|
|
&& git add ${PACKAGE_VERSION}/xohtml \
|
|
&& git commit -m 'new xohtml files' \
|
|
${PACKAGE_VERSION}/xohtml \
|
|
&& git push origin gh-pages ) ; true
|
|
|
|
pkgconfigdir=$(libdir)/pkgconfig
|
|
pkgconfig_DATA = packaging/${PACKAGE_NAME}.pc
|
|
|
|
get-wiki:
|
|
git clone https://github.com/Juniper/${PACKAGE_NAME}.wiki.git wiki
|
|
|
|
get-gh-pages:
|
|
git clone https://github.com/Juniper/${PACKAGE_NAME}.git \
|
|
gh-pages -b gh-pages
|
|
|
|
UPDATE_PACKAGE_FILE = \
|
|
-e "s;__SHA1__;$$SHA1;" \
|
|
-e "s;__SHA256__;SHA256 (textproc/${PACKAGE_FILE}) = $$SHA256;" \
|
|
-e "s;__SIZE__;SIZE (textproc/${PACKAGE_FILE}) = $$SIZE;"
|
|
|
|
GH_PACKAGING_DIR = ${PACKAGE_VERSION}/packaging
|
|
GH_PAGES_PACKAGE_DIR = ${GH_PAGES_DIR}/${GH_PACKAGING_DIR}
|
|
|
|
packages:
|
|
@-[ -d ${GH_PAGES_DIR} ] && set -x \
|
|
&& echo "Updating packages on gh-pages ..." \
|
|
&& mkdir -p ${GH_PAGES_DIR}/${GH_PACKAGING_DIR} \
|
|
&& SHA1="`openssl sha1 ${PACKAGE_FILE} | awk '{print $$2}'`" \
|
|
&& SHA256="`openssl sha256 ${PACKAGE_FILE} | awk '{print $$2}'`" \
|
|
&& SIZE="`ls -l ${PACKAGE_FILE} | awk '{print $$5}'`" \
|
|
&& echo "... ${GH_PAGES_PACKAGE_DIR}/${PACKAGE_NAME}.rb ..." \
|
|
&& sed ${UPDATE_PACKAGE_FILE} \
|
|
packaging/${PACKAGE_NAME}.rb.base \
|
|
> ${GH_PAGES_PACKAGE_DIR}/${PACKAGE_NAME}.rb \
|
|
&& echo "... ${GH_PAGES_PACKAGE_DIR}/${PACKAGE_NAME}.spec ..." \
|
|
&& cp packaging/${PACKAGE_NAME}.spec \
|
|
${GH_PAGES_PACKAGE_DIR}/${PACKAGE_NAME}.spec \
|
|
&& (cd ${GH_PAGES_DIR} \
|
|
&& git add ${GH_PACKAGING_DIR} \
|
|
&& git add ${GH_PACKAGING_DIR}/libxo.rb \
|
|
${GH_PACKAGING_DIR}/libxo.spec \
|
|
&& git commit -m 'new packaging data' \
|
|
${GH_PACKAGING_DIR} \
|
|
&& git push origin gh-pages ) ; true
|
|
|
|
ANALYZE_DIR = ~/trash/libxo
|
|
ANALYZE_CMD = scan-build-mp-3.6
|
|
|
|
analyze:
|
|
${MAKE} clean
|
|
${ANALYZE_CMD} -o ${ANALYZE_DIR} ${MAKE}
|
|
|
|
SANIFLAGS=-fno-omit-frame-pointer -g -O2
|
|
|
|
sanitize-address:
|
|
${MAKE} clean
|
|
${MAKE} CFLAGS="-fsanitize=address ${SANIFLAGS}"
|
|
${MAKE} install
|
|
${MAKE} test
|
|
|
|
sanitize-undefined:
|
|
${MAKE} clean
|
|
${MAKE} CFLAGS="-fsanitize=undefined ${SANIFLAGS}"
|
|
${MAKE} install
|
|
${MAKE} test
|
|
|
|
sanitize-memory:
|
|
${MAKE} clean
|
|
${MAKE} CFLAGS="-fsanitize=memory ${SANIFLAGS}"
|
|
${MAKE} install
|
|
${MAKE} test
|