]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/libxo/Makefile.am
THIS BRANCH IS OBSOLETE, PLEASE READ:
[FreeBSD/FreeBSD.git] / contrib / libxo / Makefile.am
1 #
2 # $Id$
3 #
4 # Copyright 2014, Juniper Networks, Inc.
5 # All rights reserved.
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
9 # LICENSE.
10
11 ACLOCAL_AMFLAGS = -I m4
12
13 SUBDIRS = libxo xo xopo xolint xohtml tests doc encoder
14 bin_SCRIPTS=libxo-config
15 dist_doc_DATA = Copyright
16
17 EXTRA_DIST = \
18     libxo-config.in \
19     warnings.mk \
20     README.md \
21     INSTALL.md \
22     packaging/libxo.spec
23
24 .PHONY: test tests
25
26 test tests:
27         @(cd tests ; ${MAKE} test)
28
29 errors:
30         @(cd tests/errors ; ${MAKE} test)
31
32 docs:
33         @(cd doc ; ${MAKE} docs)
34
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
39
40 XOHTML_FILES = \
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
46
47 upload: dist upload-docs upload-xohtml-files
48         @echo "Remember to run:"
49         @echo "        gt tag ${PACKAGE_VERSION}"
50
51 upload-docs: docs upload-html
52
53 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
66
67 upload-xohtml-files:
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
78
79 pkgconfigdir=$(libdir)/pkgconfig
80 pkgconfig_DATA = packaging/${PACKAGE_NAME}.pc
81
82 get-wiki:
83         git clone https://github.com/Juniper/${PACKAGE_NAME}.wiki.git wiki
84
85 get-gh-pages:
86         git clone https://github.com/Juniper/${PACKAGE_NAME}.git \
87                 gh-pages -b gh-pages
88
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;"
93
94 GH_PACKAGING_DIR = ${PACKAGE_VERSION}/packaging
95 GH_PAGES_PACKAGE_DIR = ${GH_PAGES_DIR}/${GH_PACKAGING_DIR}
96
97 packages:
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
118
119 ANALYZE_DIR = ~/trash/libxo
120 ANALYZE_CMD = scan-build-mp-3.6
121
122 analyze:
123         ${MAKE} clean
124         ${ANALYZE_CMD} -o ${ANALYZE_DIR} ${MAKE}
125
126 SANIFLAGS=-fno-omit-frame-pointer -g -O2
127
128 sanitize-address:
129         ${MAKE} clean
130         ${MAKE} CFLAGS="-fsanitize=address ${SANIFLAGS}"
131         ${MAKE} install
132         ${MAKE} test
133
134 sanitize-undefined:
135         ${MAKE} clean
136         ${MAKE} CFLAGS="-fsanitize=undefined ${SANIFLAGS}"
137         ${MAKE} install
138         ${MAKE} test
139
140 sanitize-memory:
141         ${MAKE} clean
142         ${MAKE} CFLAGS="-fsanitize=memory ${SANIFLAGS}"
143         ${MAKE} install
144         ${MAKE} test