4 # Copyright 2014, Juniper Networks, Inc.
6 # This SOFTWARE is licensed under the LICENSE provided in the
7 # ../Copyright file. By downloading, installing, copying, or otherwise
8 # using the SOFTWARE, you agree to be bound by the terms of that
11 ACLOCAL_AMFLAGS = -I m4
13 SUBDIRS = libxo xo xopo xolint xohtml tests doc encoder
14 bin_SCRIPTS=libxo-config
15 dist_doc_DATA = Copyright
27 @(cd tests ; ${MAKE} test)
30 @(cd tests/errors ; ${MAKE} test)
33 @(cd doc ; ${MAKE} docs)
35 DIST_FILES_DIR = ~/Dropbox/dist-files/
36 GH_PAGES_DIR = gh-pages/
37 GH_PAGES_DIR_VER = gh-pages/${PACKAGE_VERSION}
38 PACKAGE_FILE = ${PACKAGE_TARNAME}-${PACKAGE_VERSION}.tar.gz
41 ${top_srcdir}/xohtml/xohtml.css \
42 ${top_srcdir}/xohtml/xohtml.js \
43 ${top_srcdir}/xohtml/external/jquery.js \
44 ${top_srcdir}/xohtml/external/jquery.qtip.css \
45 ${top_srcdir}/xohtml/external/jquery.qtip.js
47 upload: dist upload-docs upload-xohtml-files
48 @echo "Remember to run:"
49 @echo " gt tag ${PACKAGE_VERSION}"
51 upload-docs: docs upload-html
54 @echo "Uploading html ... "
55 @-[ -d ${GH_PAGES_DIR} -a -d doc/html ] \
56 && echo "Updating html on gh-pages ..." \
57 && mkdir -p ${GH_PAGES_DIR_VER}/html \
58 && cp doc/top-link.html ${GH_PAGES_DIR}/libxo.html \
59 && cp -r doc/html/* ${GH_PAGES_DIR_VER}/html/ \
60 && (cd ${GH_PAGES_DIR} \
61 && git add libxo.html \
62 && git add ${PACKAGE_VERSION}/html \
63 && git commit -m 'new docs' \
64 libxo.html ${PACKAGE_VERSION}/html \
65 && git push origin gh-pages ) ; true
68 @echo "Uploading xohtml files ... "
69 @-[ -d ${GH_PAGES_DIR} ] \
70 && echo "Updating xohtml files on gh-pages ..." \
71 && mkdir -p ${GH_PAGES_DIR_VER}/xohtml \
72 && cp ${XOHTML_FILES} ${GH_PAGES_DIR_VER}/xohtml \
73 && (cd ${GH_PAGES_DIR} \
74 && git add ${PACKAGE_VERSION}/xohtml \
75 && git commit -m 'new xohtml files' \
76 ${PACKAGE_VERSION}/xohtml \
77 && git push origin gh-pages ) ; true
79 pkgconfigdir=$(libdir)/pkgconfig
80 pkgconfig_DATA = packaging/${PACKAGE_NAME}.pc
83 git clone https://github.com/Juniper/${PACKAGE_NAME}.wiki.git wiki
86 git clone https://github.com/Juniper/${PACKAGE_NAME}.git \
89 UPDATE_PACKAGE_FILE = \
90 -e "s;__SHA1__;$$SHA1;" \
91 -e "s;__SHA256__;SHA256 (textproc/${PACKAGE_FILE}) = $$SHA256;" \
92 -e "s;__SIZE__;SIZE (textproc/${PACKAGE_FILE}) = $$SIZE;"
94 GH_PACKAGING_DIR = ${PACKAGE_VERSION}/packaging
95 GH_PAGES_PACKAGE_DIR = ${GH_PAGES_DIR}/${GH_PACKAGING_DIR}
98 @-[ -d ${GH_PAGES_DIR} ] && set -x \
99 && echo "Updating packages on gh-pages ..." \
100 && mkdir -p ${GH_PAGES_DIR}/${GH_PACKAGING_DIR} \
101 && SHA1="`openssl sha1 ${PACKAGE_FILE} | awk '{print $$2}'`" \
102 && SHA256="`openssl sha256 ${PACKAGE_FILE} | awk '{print $$2}'`" \
103 && SIZE="`ls -l ${PACKAGE_FILE} | awk '{print $$5}'`" \
104 && echo "... ${GH_PAGES_PACKAGE_DIR}/${PACKAGE_NAME}.rb ..." \
105 && sed ${UPDATE_PACKAGE_FILE} \
106 packaging/${PACKAGE_NAME}.rb.base \
107 > ${GH_PAGES_PACKAGE_DIR}/${PACKAGE_NAME}.rb \
108 && echo "... ${GH_PAGES_PACKAGE_DIR}/${PACKAGE_NAME}.spec ..." \
109 && cp packaging/${PACKAGE_NAME}.spec \
110 ${GH_PAGES_PACKAGE_DIR}/${PACKAGE_NAME}.spec \
111 && (cd ${GH_PAGES_DIR} \
112 && git add ${GH_PACKAGING_DIR} \
113 && git add ${GH_PACKAGING_DIR}/libxo.rb \
114 ${GH_PACKAGING_DIR}/libxo.spec \
115 && git commit -m 'new packaging data' \
116 ${GH_PACKAGING_DIR} \
117 && git push origin gh-pages ) ; true
119 ANALYZE_DIR = ~/trash/libxo
120 ANALYZE_CMD = scan-build-mp-3.6
124 ${ANALYZE_CMD} -o ${ANALYZE_DIR} ${MAKE}
126 SANIFLAGS=-fno-omit-frame-pointer -g -O2
130 ${MAKE} CFLAGS="-fsanitize=address ${SANIFLAGS}"
136 ${MAKE} CFLAGS="-fsanitize=undefined ${SANIFLAGS}"
142 ${MAKE} CFLAGS="-fsanitize=memory ${SANIFLAGS}"