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)
36 DIST_FILES_DIR = ~/Dropbox/dist-files/
37 GH_PAGES_DIR = gh-pages/
38 GH_PAGES_DIR_VER = gh-pages/${PACKAGE_VERSION}
39 PACKAGE_FILE = ${PACKAGE_TARNAME}-${PACKAGE_VERSION}.tar.gz
42 ${top_srcdir}/xohtml/xohtml.css \
43 ${top_srcdir}/xohtml/xohtml.js \
44 ${top_srcdir}/xohtml/external/jquery.js \
45 ${top_srcdir}/xohtml/external/jquery.qtip.css \
46 ${top_srcdir}/xohtml/external/jquery.qtip.js
48 upload: dist upload-docs upload-xohtml-files
49 @echo "Remember to run:"
50 @echo " gt tag ${PACKAGE_VERSION}"
53 @echo "Uploading libxo-manual.html ... "
54 @-[ -d ${GH_PAGES_DIR} ] \
55 && echo "Updating manual on gh-pages ..." \
56 && mkdir -p ${GH_PAGES_DIR_VER} \
57 && cp doc/libxo-manual.html ${GH_PAGES_DIR} \
58 && cp doc/libxo-manual.html ${GH_PAGES_DIR_VER} \
59 && (cd ${GH_PAGES_DIR} \
60 && git add ${PACKAGE_VERSION} \
61 && git add libxo-manual.html \
62 && git commit -m 'new docs' \
63 libxo-manual.html ${PACKAGE_VERSION} \
64 && git push origin gh-pages ) ; true
67 @echo "Uploading xohtml files ... "
68 @-[ -d ${GH_PAGES_DIR} ] \
69 && echo "Updating xohtml files on gh-pages ..." \
70 && mkdir -p ${GH_PAGES_DIR_VER}/xohtml \
71 && cp ${XOHTML_FILES} ${GH_PAGES_DIR_VER}/xohtml \
72 && (cd ${GH_PAGES_DIR} \
73 && git add ${PACKAGE_VERSION}/xohtml \
74 && git commit -m 'new xohtml files' \
75 ${PACKAGE_VERSION}/xohtml \
76 && git push origin gh-pages ) ; true
78 pkgconfigdir=$(libdir)/pkgconfig
79 pkgconfig_DATA = packaging/${PACKAGE_NAME}.pc
82 git clone https://github.com/Juniper/${PACKAGE_NAME}.wiki.git wiki
85 git clone https://github.com/Juniper/${PACKAGE_NAME}.git \
88 UPDATE_PACKAGE_FILE = \
89 -e "s;__SHA1__;$$SHA1;" \
90 -e "s;__SHA256__;SHA256 (textproc/${PACKAGE_FILE}) = $$SHA256;" \
91 -e "s;__SIZE__;SIZE (textproc/${PACKAGE_FILE}) = $$SIZE;"
93 GH_PACKAGING_DIR = ${PACKAGE_VERSION}/packaging
94 GH_PAGES_PACKAGE_DIR = ${GH_PAGES_DIR}/${GH_PACKAGING_DIR}
97 @-[ -d ${GH_PAGES_DIR} ] && set -x \
98 && echo "Updating packages on gh-pages ..." \
99 && mkdir -p ${GH_PAGES_DIR}/${GH_PACKAGING_DIR} \
100 && SHA1="`openssl sha1 ${PACKAGE_FILE} | awk '{print $$2}'`" \
101 && SHA256="`openssl sha256 ${PACKAGE_FILE} | awk '{print $$2}'`" \
102 && SIZE="`ls -l ${PACKAGE_FILE} | awk '{print $$5}'`" \
103 && echo "... ${GH_PAGES_PACKAGE_DIR}/${PACKAGE_NAME}.rb ..." \
104 && sed ${UPDATE_PACKAGE_FILE} \
105 packaging/${PACKAGE_NAME}.rb.base \
106 > ${GH_PAGES_PACKAGE_DIR}/${PACKAGE_NAME}.rb \
107 && echo "... ${GH_PAGES_PACKAGE_DIR}/${PACKAGE_NAME}.spec ..." \
108 && cp packaging/${PACKAGE_NAME}.spec \
109 ${GH_PAGES_PACKAGE_DIR}/${PACKAGE_NAME}.spec \
110 && (cd ${GH_PAGES_DIR} \
111 && git add ${GH_PACKAGING_DIR} \
112 && git add ${GH_PACKAGING_DIR}/libxo.rb \
113 ${GH_PACKAGING_DIR}/libxo.spec \
114 && git commit -m 'new packaging data' \
115 ${GH_PACKAGING_DIR} \
116 && git push origin gh-pages ) ; true
118 ANALYZE_DIR = ~/trash/libxo
119 ANALYZE_CMD = scan-build-mp-3.6
123 ${ANALYZE_CMD} -o ${ANALYZE_DIR} ${MAKE}
125 SANIFLAGS=-fno-omit-frame-pointer -g -O2
129 ${MAKE} CFLAGS="-fsanitize=address ${SANIFLAGS}"
135 ${MAKE} CFLAGS="-fsanitize=undefined ${SANIFLAGS}"
141 ${MAKE} CFLAGS="-fsanitize=memory ${SANIFLAGS}"