Codebase list bsdowl / 2de565d
Merge tag 'v3.0.0-20141228' into debian v3.0.0-20141228 Michael Grünewald 9 years ago
54 changed file(s) with 723 addition(s) and 235 deletion(s). Raw diff Collapse all Expand all
0 /Makefile.inc
0 /Makefile.config
11 bps/bps.bpsconfig.mk
22 configure
33 autom4te.cache/
1515
1616 .include "bps.init.mk"
1717
18 all configure depend build doc:
19 ${NOP}
20 test: do-test
21 clean: do-clean
22 distclean: clean
23 realclean: distclean
18 TEST_SEQUENCE?= clean obj depend build doc install
19
20 TEST_ENV+= DESTDIR='/tmp/${USER}${PACKAGEDIR}$${TESTDIR}$${ARCHITECTUREDIR}$${CONFIGURATIONDIR}'
21 TEST_ENV+= PREFIX='/usr/local'
22 TEST_ENV+= USE_SWITCH_CREDENTIALS='no'
23 TEST_ENV+= MAKEOBJDIRPREFIX='/tmp/${USER}${PACKAGEDIR}$${TESTDIR}$${ARCHITECTUREDIR}$${CONFIGURATIONDIR}'
24 TEST_ENV+= PACKAGELIBRARYCONFIGURATION='${SRCDIR}/testsuite/Library/Configuration'
25 TEST_ENV+= PACKAGELIBRARYARCHITECTURE='${SRCDIR}/testsuite/Library/Configuration'
26 TEST_ENV+= BSDOWLSRCDIR='${SRCDIR}'
27 TEST_ENV+= TESTSRCDIR='${SRCDIR}/testsuite/src'
28 TEST_ENV+= TESTDIR='${.CURDIR:C,${SRCDIR}/testsuite,,}/${.ALLSRC:M*.mk:C/.mk$//}'
29
30 TEST_ENV_UNSET+= SRCDIR
31 TEST_ENV_UNSET+= WRKDIR
32 TEST_ENV_UNSET+= PACKAGE
33 TEST_ENV_UNSET+= PACKAGEDIR
34 TEST_ENV_UNSET+= OFFICER
35 TEST_ENV_UNSET+= VERSION
36 TEST_ENV_UNSET+= MODULE
37 TEST_ENV_UNSET+= EXTERNAL
2438
2539 MP2EPS= ${SH} ${SRCDIR}/support/mp2eps.sh
2640 MP2PNG= ${SH} ${SRCDIR}/support/mp2png.sh
3044 .export MP2PNG
3145 .export MP2PDF
3246
33 .for variable in SRCDIR WRKDIR\
34 PACKAGE PACKAGEDIR OFFICER VERSION MODULE EXTERNAL
35 MAKETEST+= unset ${variable};
36 .endfor
37
38 MAKETEST+= ${ENVTOOL}
39 MAKETEST+= DESTDIR='/tmp/${USER}${PACKAGEDIR}$${TESTDIR}$${ARCHITECTUREDIR}$${CONFIGURATIONDIR}'
40 MAKETEST+= PREFIX='/usr/local'
41 MAKETEST+= USE_SWITCH_CREDENTIALS='no'
42 MAKETEST+= MAKEOBJDIRPREFIX='/tmp/${USER}${PACKAGEDIR}$${TESTDIR}$${ARCHITECTUREDIR}$${CONFIGURATIONDIR}'
43 MAKETEST+= PACKAGELIBRARYCONFIGURATION='${SRCDIR}/testsuite/Library/Configuration'
44 MAKETEST+= PACKAGELIBRARYARCHITECTURE='${SRCDIR}/testsuite/Library/Configuration'
45 MAKETEST+= BSDOWLSRCDIR='${SRCDIR}'
46 MAKETEST+= TESTSRCDIR='${SRCDIR}/testsuite/src'
47 MAKETEST+= TESTDIR='${.CURDIR:C,${SRCDIR}/testsuite,,}/${.ALLSRC:M*.mk:C/.mk$//}'
48 MAKETEST+= ${MAKE}
49
50 TESTSEQUENCE?= clean obj depend build doc install
51
52 .ORDER: ${TEST:C@^@do-test-@}
53 .ORDER: ${TEST:C@$@.done@}
54
55 .for test in ${TEST}
56 .if exists(${test}.mk)
57 do-test: do-test-${test}
58 do-test-${test}: ${test}.done
59 ${test}.done: ${test}.mk
60 .for step in ${TESTSEQUENCE}
61 ${INFO} testsuite/${SUBDIR_PREFIX}${test} '(${step})'
62 @${MAKETEST} -f ${.ALLSRC:M*.mk} ${step}
63 .endfor
64 ${INFO} testsuite/${SUBDIR_PREFIX}${test} '(test)'
65 @${MAKETEST} -f ${.ALLSRC:M*.mk} test
66 touch ${test}.done
67 do-clean: do-clean-${test}
68 do-clean-${test}: ${test}.mk .PHONY
69 ${INFO} testsuite/${SUBDIR_PREFIX}${test} '(clean)'
70 @${RM} -f ${test}.done
71 @${MAKETEST} -f ${.ALLSRC:M*.mk} realclean
72 .else
73 .error ${test}: Test is not defined.
74 .endif
75 .endfor
76
77 display-makeflags:
78 @printf '.MAKEFLAGS: %s\n' ${MAKEFLAGS}
79
80 .include "bps.usertarget.mk"
47 .include "generic.test.mk"
8148
8249 ### End of file `bsdowl.test.mk'
0 #
1 # Configuration of Make
2 #
3 unsetenv MAKEFLAGS
4 unsetenv MAKEOBJDIR
3838 .MAKEFLAGS: -I${.CURDIR}/${subdir}
3939 .endfor
4040
41 .include "bps.project.mk"
41 .include "generic.project.mk"
4242
4343 ### End of file `Makefile'
0 ### @autoconf_input@
1
2 # Author: Michael Grünewald
3 # Date: Fri Feb 10 16:50:40 GMT 2006
4
5 # BSD Owl Scripts (https://github.com/michipili/bsdowl)
6 # This file is part of BSD Owl Scripts
7 #
8 # Copyright © 2005–2014 Michael Grünewald
9 #
10 # This file must be used under the terms of the CeCILL-B.
11 # This source file is licensed as described in the file COPYING, which
12 # you should have received as part of this distribution. The terms
13 # are also available at
14 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
15
16 PROJECT= bsdowl
17 OFFICER= michipili@gmail.com
18 VERSION= @version@
19
20 prefix?= @prefix@
21 exec_prefix?= @exec_prefix@
22 bindir?= @bindir@
23 sbindir?= @sbindir@
24 libexecdir?= @libexecdir@
25 datarootdir?= @datarootdir@
26 datadir?= @datadir@
27 sysconfdir?= @sysconfdir@
28 sharedstatedir?= @sharedstatedir@
29 localstatedir?= @localstatedir@
30 runstatedir?= @runstatedir@
31 includedir?= @includedir@
32 docdir?= @docdir@
33 infodir?= @infodir@
34 libdir?= @libdir@
35 localedir?= @localedir@
36 mandir?= @mandir@
37
38 PREFIX?= ${prefix}
39 EXEC_PREFIX?= ${exec_prefix}
40 DATAROOTDIR?= ${datarootdir}
41 SCRIPTDIR?= ${_BPS_LIBEXEC}${PACKAGEDIR}
42 SHAREDIR?= ${_BPS_DATADIR}${PACKAGEDIR}
43
44 # Local Variables:
45 # mode: makefile
46 # End:
47
48 ### End of file `Makefile.config.in'
+0
-49
Makefile.inc.in less more
0 ### @autoconf_input@
1
2 # Author: Michael Grünewald
3 # Date: Fri Feb 10 16:50:40 GMT 2006
4
5 # BSD Owl Scripts (https://github.com/michipili/bsdowl)
6 # This file is part of BSD Owl Scripts
7 #
8 # Copyright © 2005–2014 Michael Grünewald
9 #
10 # This file must be used under the terms of the CeCILL-B.
11 # This source file is licensed as described in the file COPYING, which
12 # you should have received as part of this distribution. The terms
13 # are also available at
14 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
15
16 PROJECT= bsdowl
17 OFFICER= michipili@gmail.com
18 VERSION= @version@
19
20 prefix?= @prefix@
21 exec_prefix?= @exec_prefix@
22 bindir?= @bindir@
23 sbindir?= @sbindir@
24 libexecdir?= @libexecdir@
25 datarootdir?= @datarootdir@
26 datadir?= @datadir@
27 sysconfdir?= @sysconfdir@
28 sharedstatedir?= @sharedstatedir@
29 localstatedir?= @localstatedir@
30 runstatedir?= @runstatedir@
31 includedir?= @includedir@
32 docdir?= @docdir@
33 infodir?= @infodir@
34 libdir?= @libdir@
35 localedir?= @localedir@
36 mandir?= @mandir@
37
38 PREFIX?= ${prefix}
39 EXEC_PREFIX?= ${exec_prefix}
40 DATAROOTDIR?= ${datarootdir}
41 SCRIPTDIR?= ${_BPS_LIBEXEC}${PACKAGEDIR}
42 SHAREDIR?= ${_BPS_DATADIR}${PACKAGEDIR}
43
44 # Local Variables:
45 # mode: makefile
46 # End:
47
48 ### End of file `Makefile'
3434 SHARE+= bps.project.mk
3535 SHARE+= bps.m4.mk
3636 SHARE+= bps.noweb.mk
37 SHARE+= bps.test-expected.mk
3738
3839 .include "generic.files.mk"
3940
5353 .endif
5454 USE_AUTOCONF?=no
5555 .if ${USE_AUTOCONF} == yes
56 .if "${.CURDIR}" != "${.OBJDIR}"
57 _AUTOCONF_DIR= ${.CURDIR}/
58 .else
59 _AUTOCONF_DIR=
60 .endif
5661 .for file in config.status config.log
5762 .if exists(${file})
58 DISTCLEANFILES+= ${file}
63 DISTCLEANFILES+= ${_AUTOCONF_DIR}${file}
5964 .endif
6065 .endfor
6166 .if exists(autom4te.cache)
62 DISTCLEANDIRS+= autom4te.cache
67 DISTCLEANDIRS+= ${_AUTOCONF_DIR}autom4te.cache
6368 .endif
6469 .for file in Makefile.in Makefile.inc.in
6570 .if exists(${file})&&empty(CONFIGURE:M${file})
6671 CONFIGURE+= ${file}
6772 .endif
6873 .endfor
69 REALCLEANFILES+= ${CONFIGURE:.in=}
74 .for file in ${CONFIGURE:.in=}
75 REALCLEANFILES+= ${_AUTOCONF_DIR}${file}
76 .endfor
7077 .if exists(configure.ac)||exists(configure.in)
7178 .if !defined(REALCLEANFILES)||empty(REALCLEANFILES:Mconfigure)
72 REALCLEANFILES+= configure
79 REALCLEANFILES+= ${_AUTOCONF_DIR}configure
7380 .endif
7481 .endif
7582 .endif # ${USE_AUTOCONF} == yes
7979 ${target}-switch-credentials:
8080 ${INFO} 'Switching to root credentials for target (${target})'
8181 .if ${_BPS_SWITCH_CREDENTIALS_STRATEGY} == su
82 @${SU} root -c '${MAKE} ${target}'
82 @(cd ${.CURDIR} && ${SU} root -c '${MAKE} ${target}')
8383 .elif ${_BPS_SWITCH_CREDENTIALS_STRATEGY} == sudo
84 @${SUDO} ${MAKE} UID=0 ${target}
84 @(cd ${.CURDIR} && ${SUDO} ${MAKE} UID=0 ${target}>)
8585 .else
86 @${MAKE} UID=0 ${target}
86 @(cd ${.CURDIR} && ${MAKE} UID=0 ${target})
8787 .endif
8888 .endif
8989 .endfor
183183 # The command used to invoke the macro processor M4
184184 #
185185 #
186 # RELDIR [automatically set]
187 # The current path, relative to ${SRCDIR}
188 #
189 # This is left undefined if SRCDIR is not defined or if it matches
190 # .CURDIR.
191 #
192 #
186193 # _MAKE_USERTARGET [configure obj depend build doc all
187194 # install test clean distclean realclean benchmark]
188195 # The list of targets that are defined by every module.
205212
206213 # Input the package configuration file, if any.
207214 .if defined(SRCDIR) && !empty(SRCDIR)
215 .sinclude "${SRCDIR}/Makefile.build"
216 .sinclude "${SRCDIR}/Makefile.config"
208217 .if ${SRCDIR} != ${.CURDIR}
209 .if exists(${SRCDIR}/${MAKEINITRC})
210 .include "${SRCDIR}/${MAKEINITRC}"
211 .endif
212 .endif
218 RELDIR:= ${.CURDIR:S@^${SRCDIR}@@}
219 .sinclude "${SRCDIR}/${MAKEINITRC}"
220 .endif
221 .else
222 .sinclude "Makefile.build"
223 .sinclude "Makefile.config"
213224 .endif
214225
215226 # Input the current module configuration file, if any.
216 .if exists(${.CURDIR}/${MAKEINITRC})
217 .include "${.CURDIR}/${MAKEINITRC}"
218 .endif
227 .sinclude "${.CURDIR}/${MAKEINITRC}"
219228
220229
221230 #
352361 .include "bps.autoconf.mk"
353362 .include "bps.credentials.mk"
354363 .include "bps.noweb.mk"
364 .include "bps.test-expected.mk"
355365
356366 .endif # !target(__<bps.init.mk>__)
357367
2626 #
2727 #
2828 # WRKDIR [${.OBJDIR}, inherited]
29 # The roor of the objdir-tree of our package.
29 # The root of the objdir-tree of our package.
3030 #
3131 #
3232 # PACKAGE [last component of SRCDIR, inherited]
2121 # Variables:
2222 #
2323 # THISMODULE [not set]
24 # A string identifying the module being built.
24 # A string identifying the module being built.
2525 #
2626 #
2727 # PRODUCT [not set]
28 # The list of products built by the current module
28 # The list of products built by the current module
2929 #
3030 #
31 # PRODUCTFILE [strategy]
32 # A file exporting the list of available products
31 # PRODUCTFILE [${WRKDIR}/.product]
32 # A file exporting a table of available products
33 #
34 #
35 # PRODUCT_AWK [${AWK} -F'|']
36 # A awk program that can be used to process the product file
3337
3438 .if !target(__<bps.init.mk>__)
3539 .error bps.product.mk cannot be included directly.
3640 .endif
3741
38 .if !target(__<bps.product.mk>__)&&defined(PRODUCT)
42 .if !target(__<bps.product.mk>__)
3943 __<bps.product.mk>__:
4044
4145 PRODUCTFILE?= ${WRKDIR}/.product
46 PRODUCTTOOL?= sh -c '\
47 printf "%s|%s|%s|%s\n"\
48 "${THISMODULE}"\
49 "${RELDIR}"\
50 "$$1"\
51 "$$2"\
52 >> ${PRODUCTFILE}\
53 ' PRODUCTTOOL
4254
43 .if defined(THISMODULE)&&defined(PRODUCT)&&!empty(PRODUCT)
55 .if defined(THISMODULE)&&defined(PRODUCT)
4456 do-product: .PHONY
45 @${ECHO} ".if empty(PRODUCT_${THISMODULE}:M${PRODUCT})"\
46 >> ${PRODUCTFILE}
47 @${ECHO} "PRODUCT_${THISMODULE}+=${PRODUCT}"\
48 >> ${PRODUCTFILE}
49 @${ECHO} ".endif"\
50 >> ${PRODUCTFILE}
57 .for product in ${PRODUCT}
58 @${PRODUCTTOOL} '${product}' '${PRODUCT_ARGS.${product}}'
59 .endfor
5160 do-depend: do-product
5261 .endif
5362
5564 do-distclean-product: .PHONY
5665 @${RM} -f ${PRODUCTFILE}
5766
67 PRODUCT_AWK?= ${AWK} -F'|'
68
5869 .if exists(${PRODUCTFILE})
59 .include "${PRODUCTFILE}"
70 _PRODUCT_MODULE_LIST!= ${PRODUCT_AWK}\
71 '{a[$$1]}END{for(m in a){print m}}'\
72 ${PRODUCTFILE}
73 .for module in ${_PRODUCT_MODULE_LIST}
74 PRODUCT_${module}!= ${PRODUCT_AWK} -v module='${module}'\
75 '$$1 == module {print $$3}'\
76 ${PRODUCTFILE}
77 .endfor
6078 .endif
6179
6280 .endif # !target(__<bps.product.mk>__)
123123 DISTNAME?= ${PACKAGE}-${VERSION}
124124 DISTDIR?= ${.OBJDIR}
125125 GPG?= gpg
126
127 .include "bps.init.mk"
128
129126
130127 #
131128 # Data for compression tools
357354
358355
359356 # The SHELL variable is defined in user's environment
360 SUBSHELLDIR?= .
357 SUBSHELLDIR?= ${.CURDIR}
361358 subshell: .PHONY
362359 ${INFO} "Entering developper's subshell"
363 @cd ${SUBSHELLDIR} && ${ENVTOOL} ${PROJECTENV} ${SHELL}
360 @(cd ${SUBSHELLDIR} && ${ENVTOOL} ${PROJECTENV} ${SHELL})
364361 ${INFO} "Exiting developper's subshell"
365362
366 #
367 # Delegating targets to subdirectories
368 #
369
370 .if defined(MODULE)
371 SUBDIR+= ${MODULE:C@.*\:@@}
372 .endif
373
374 .include "bps.subdir.mk"
375
376 obj: do-obj-subdir
363 # Remove the global product file before generating dependencies
364 .if target(do-distclean-product)
365 pre-depend: do-distclean-product
366 .endif
377367
378368 .endif # !target(__<bps.project.mk>__)
379369
2626 ### DESCRIPTION
2727
2828 # Delegate targets enumerated by the variable _SUBDIR_TARGET to the
29 # directories list by the variable SUBDIR. This implements an
30 # aggregate pattern.
29 # directories listed by the variable SUBDIR or _SUBDIR_LIST. This
30 # implements a simple aggregate pattern.
3131 #
3232 # The logic is as follows:
3333 # - for each target in _SUBDIR_TARGET, a do-${target}-subdir target is
3737 # defined and if credential switch has not been required for
3838 # ${target}, a rule with an empty recipe and depending on
3939 # do-${target}-subdir is created for ${target}.
40 # - for each directory in ${SUBDIR} a ${directory} target is created,
40 # - for each directory in _SUBDIR_LIST a ${directory} target is created,
4141 # requiring to make all in this subdirectory.
4242
4343
4848 # Flag controlling the use of the subdir facility
4949 #
5050 #
51 # SUBDIR
51 # SUBDIR [not set]
52 # Directories in the aggregate
53 #
54 #
55 # _SUBDIR_LIST [${SUBDIR}]
5256 # Directories in the aggregate
5357 #
5458 #
6670
6771 ### IMPLEMENTATION
6872
69 .include "bps.init.mk"
70 .include "bps.credentials.mk"
73 .if !target(__<bps.init.mk>__)
74 .error bps.subdir.mk cannot be included directly.
75 .endif
7176
7277 .if !target(__<bps.subdir.mk>__)
7378 __<bps.subdir.mk>__:
7681 SUBDIR_PREFIX?=
7782
7883 .if defined(SUBDIR) && !empty(SUBDIR)
84 _SUBDIR_LIST?= ${SUBDIR}
85 .endif
86
87 .if defined(_SUBDIR_LIST) && !empty(_SUBDIR_LIST)
7988 USE_SUBDIR?= yes
8089 .else
8190 USE_SUBDIR?= no
8291 .endif
8392
8493 .if ${USE_SUBDIR} == yes
85 .PHONY: ${SUBDIR}
94 .PHONY: ${_SUBDIR_LIST}
8695 _SUBDIR: .USE
87 .for item in ${SUBDIR}
96 .for item in ${_SUBDIR_LIST}
8897 ${INFO} "${SUBDIR_PREFIX}${item} (${.TARGET:S/^do-//:S/-subdir$//})"
8998 @cd ${.CURDIR}/${item}\
9099 &&${MAKE} SUBDIR_PREFIX=${SUBDIR_PREFIX}${item}/ ${.TARGET:S/^do-//:S/-subdir$//}
91100 .endfor
92101
93 ${SUBDIR}::
102 ${_SUBDIR_LIST}::
94103 ${INFO} "${.TARGET} (all)"
95104 @cd ${.CURDIR}/${.TARGET}; ${MAKE} all
96105
99108 do-${target}-subdir: _SUBDIR
100109 ${NOP}
101110 .if !target(${target}) && !target(${target}-switch-credentials)
102 ${target}: do-${target}-subdir
111 .for sub in pre-${target} do-${target}-subdir do-${target} post-${target}
112 .if target(${sub})
113 ${target}: ${sub}
114 .endif
115 .endfor
116 .ORDER: pre-${target} do-${target}-subdir do-${target} post-${target}
103117 .endif
104118 .endfor
105119 .endif
115129 .endif # ${USE_SUBDIR} == yes
116130 .endif #!target(__<bps.subdir.mk>__)
117131
118 .include "bps.clean.mk"
119
120132 ### End of file `bps.subdir.mk'
0 ### bps.test-expected.mk -- Implement got/expected tests
1
2 # Author: Michael Grünewald
3 # Date: Fri Dec 5 10:01:42 CET 2014
4
5 # BSD Owl Scripts (https://github.com/michipili/bsdowl)
6 # This file is part of BSD Owl Scripts
7 #
8 # Copyright © 2005–2014 Michael Grünewald
9 #
10 # This file must be used under the terms of the CeCILL-B.
11 # This source file is licensed as described in the file COPYING, which
12 # you should have received as part of this distribution. The terms
13 # are also available at
14 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
15
16 # Uses:
17 #
18 #
19 # test:expected
20 # This module defines got/expected tests
21
22 .if !target(__<bps.init.mk>__)
23 .error bps.test-expected.mk cannot be included directly.
24 .endif
25
26 .if !target(__<bps.test-expected.mk>__)
27 __<bps.test-expected.mk>__:
28
29 .if!empty(_USES_OPTIONS:Mtest)&&!empty(_USES_test_ARGS:Mexpected)
30 install:: .PHONY
31 ${NOP}
32
33 .if defined(PRODUCT)
34 TEST?= ${PRODUCT}
35 .endif
36
37 .if!defined(TEST)
38 .error Cannot figure out how to run tests.
39 .endif
40
41 .if defined(TEST_ENV)&&!empty(TEST_ENV)
42 .export ${TEST_ENV}
43 .endif
44
45 .for test in ${TEST}
46 .if !target(${test}.got)
47 ${test}.got: ${test}
48 ./${test} > ${.TARGET}
49 .endif
50 CLEANFILES+= ${test}.got
51 CLEANFILES+= ${test}.done
52 ${test}.done: ${test}.got ${test}.expected
53 diff -u ${.ALLSRC:M*.expected} ${.ALLSRC:M*.got}\
54 || (${RM} -f ${.ALLSRC:M*.got}; exit 1)
55 ${TOUCH} ${.TARGET}
56
57 do-test-expected: ${test}.done
58 .endfor
59
60 do-test: do-test-expected
61 .endif
62
63 .endif # !target(__<bps.test-expected.mk>__)
64
65 ### End of file `bps.test-expected.mk'
3838 #
3939 # FDI [not set]
4040 # Device information files for the HAL system
41 #
42 #
43 # PKLA [not set]
44 # PolicyKit Local Authority
4145 #
4246 #
4347 # KERN [not set]
159163 FDIGRP?= ${BASEGRP}
160164 FDIMODE?= 444
161165
166 #
167 # PKLA, PolKit Local Authority
168 #
169
170 FILESGROUPS+= PKLA
171
172 PKLADIR?= ${JAILDIR}${LOCALBASE}/etc/polkit-1/localauthority/50-local.d
173 PKLAOWN?= ${BASEOWN}
174 PKLAGRP?= ${BASEGRP}
175 PKLAMODE?= 444
176
162177
163178 #
164179 # Kernel configuration files
00 dnl Process this file with autoconf to produce a configure script.
11 AC_INIT(bps/Makefile)
2 AC_SUBST([version], [3.0.0-20141203])
2 AC_SUBST([version], [3.0.0-20141228])
33 AC_CONFIG_AUX_DIR([Library/Autoconf])
44 AC_CANONICAL_HOST
55 AC_NEED_BSDMAKE()
200200 AC_SUBST([WITH_TESTSUITE_METAPOST])
201201 AC_SUBST([MINGW32CC])
202202 AC_SUBST([MINGW32AR])
203 AC_CONFIG_FILES([Makefile.inc bps/bps.bpsconfig.mk testsuite/Makefile.inc])
203 AC_CONFIG_FILES([Makefile.config bps/bps.bpsconfig.mk testsuite/Makefile.inc])
204204 AC_OUTPUT
205205
206206 cat <<EOF
0 bsdowl (3.0.0-20141203-1) UNRELEASED; urgency=medium
0 bsdowl (3.0.0-20141228-1) UNRELEASED; urgency=medium
11
22 * Update package to 3.0.0-20141203.
3 * Update package to 3.0.0-20141228.
34
4 -- Michael Grünewald <michipili@gmail.com> Fri, 20 Mar 2015 15:39:15 +0100
5 -- Michael Grünewald <michipili@gmail.com> Fri, 20 Mar 2015 15:56:09 +0100
56
67 bsdowl (2.2.2-1) unstable; urgency=medium
78
0 extend-diff-ignore = "^(Makefile.inc|bps/bps.bpsconfig.mk|configure|support/mp2eps|support/mp2pdf|testsuite/Makefile.inc|texmf/tex.device.pdf.mk|texmf/tex.driver.pdftex.mk)$"
0 extend-diff-ignore = "^(Makefile.config|bps/bps.bpsconfig.mk|configure|support/mp2eps|support/mp2pdf|testsuite/Makefile.inc|texmf/tex.device.pdf.mk|texmf/tex.driver.pdftex.mk)$"
117117 .include "langc.init.mk"
118118
119119 _USES_compile_ARGS?= static shared
120
121 .for product in ${PRODUCT}
122 PRODUCT_ARGS.${product}+=${_USES_compile_ARGS}
123 .endfor
120124
121125 .if defined(APIVERSION)
122126 LIBVERSION?= ${APIVERSION}
1515
1616 SHARE= elisp.lib.mk
1717 SHARE+= generic.files.mk
18 SHARE+= generic.subdir.mk
19 SHARE+= generic.project.mk
20 SHARE+= generic.test.mk
1821
1922 .include "generic.files.mk"
2023
0 ### generic.project.mk -- Preparation of projects
1
2 # Author: Michael Grünewald
3 # Date: Thu Dec 4 23:17:46 CET 2014
4
5 # BSD Owl Scripts (https://github.com/michipili/bsdowl)
6 # This file is part of BSD Owl Scripts
7 #
8 # Copyright © 2005–2014 Michael Grünewald
9 #
10 # This file must be used under the terms of the CeCILL-B.
11 # This source file is licensed as described in the file COPYING, which
12 # you should have received as part of this distribution. The terms
13 # are also available at
14 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
15
16
17 ### SYNOPSIS
18
19 # PACKAGE= heat
20 # VERSION = 1.1.0
21 # OFFICER= release-engineer@heat.org
22 #
23 # MODULE= langc.lib:librational
24 # MODULE+= langc.lib:libfibonacci
25 # MODULE+= langc.prog:heat
26 #
27 # .include "bps.project.mk"
28
29
30 ### DESCRIPTION
31
32 # This maintenance module for software projects should be the “master”
33 # Makefile of a package source tree.
34 #
35 # Beyond supporting the build and test of the software project, it
36 # also supports other functions like linting or the production of
37 # GPG-signed tarballs, and the preparation of a developper's subshell.
38
39
40 # Variables:
41 #
42 #
43 # SRCDIR, WRKDIR, PACKAGE, PACKAGEDIR, VERSION, OFFICER, MODULE, EXTERNAL
44 # See bps.package.mk
45 #
46 #
47 # DISTDIR [${.OBJDIR}]
48 # The folder used to publish distribution files and signatures
49 #
50 # A useful value could be 'DISTDIR=${HOME}/Distfiles/${PACKAGE}/${VERSION}'.
51 # It can be set from the environment but special care has to be
52 # taken to prevent the expansion of ${PACKAGE} and ${VERSION} by
53 # the shell.
54 #
55 #
56 # DISTNAME [${PACKAGENAME}-${VERSION}]
57 # The name used to produce tarballs
58 #
59 # This name is also the name of the root directory appearing at the
60 # root of the archive.
61 #
62 #
63 # DISTSIGN
64 # The list of extra distribution files which should be signed
65 #
66 #
67 # DISTNOSIGN
68 # The list of extra distribution files which do not need to be signed
69 #
70 #
71 # DISTEXCLUDE [set by a strategy]
72 # The list of files or directories which should not be distributed
73 #
74 # The files enumerated by the DISTEXCLUDE variable are excluded from
75 # the tarball distribution. The list of files produced by autoconf
76 # is automatically added to this list.
77 #
78 #
79 # PROJECTENV
80 # The list of variables passed to the environment of subshells
81 #
82 #
83 # PROJECTLIBRARY [Library]
84 # The folder used as project library
85 #
86 #
87 # PROJECTLIBRARYMAKE [Library/Make]
88 # The folder holding project specific makefiles
89 #
90 #
91 # PROJECTLIBRARYSHELL [Library/Ancillary]
92 # The folder holding project specific scripts
93 #
94 #
95 # SUBSHELLDIR [not set]
96 # A folder to change to before popping up a subshell
97
98
99 # Targets:
100 #
101 # Each target has the classical decomposition “pre-do-post” which
102 # eases their customisation.
103 #
104 #
105 # dist
106 # Create, sign and publish distribution files
107 #
108 # Important note fot GNU tar users: The GNU tar command does not
109 # have an option “dereference symbolic links provided on the
110 # command line”. It is therefore forbidden to use symbolic links in
111 # the source tree of a project.
112 #
113 #
114 # subshell
115 # Pop up a user subshell
116
117
118 ### IMPLEMENTATION
119
120 .if defined(MODULE)
121 _SUBDIR_LIST+= ${MODULE:C@.*\:@@}
122 .endif
123
124 .if defined(SUBDIR)
125 _SUBDIR_LIST+= ${SUBDIR}
126 .endif
127
128 .include "bps.init.mk"
129 .include "bps.project.mk"
130 .include "bps.credentials.mk"
131 .include "bps.subdir.mk"
132 .include "bps.clean.mk"
133 .include "bps.usertarget.mk"
134
135 obj: do-obj-subdir
136
137 ### End of file `generic.project.mk'
0 ### generic.subdir.mk -- Generic aggregate
1
2 # Author: Michael Grünewald
3 # Date: Thu Dec 4 23:47:57 CET 2014
4
5 # BSD Owl Scripts (https://github.com/michipili/bsdowl)
6 # This file is part of BSD Owl Scripts
7 #
8 # Copyright © 2005–2014 Michael Grünewald
9 #
10 # This file must be used under the terms of the CeCILL-B.
11 # This source file is licensed as described in the file COPYING, which
12 # you should have received as part of this distribution. The terms
13 # are also available at
14 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
15
16 .include "bps.init.mk"
17 .include "bps.credentials.mk"
18 .include "bps.subdir.mk"
19 .include "bps.clean.mk"
20
21 obj: do-obj-subdir
22
23 ### End of file `generic.subdir.mk'
0 ### generic.test.mk -- Generic test facility
1
2 # Author: Michael Grünewald
3 # Date: Fri Mai 9 14:47:47 CEST 2008
4
5 # BSD Owl Scripts (https://github.com/michipili/bsdowl)
6 # This file is part of BSD Owl Scripts
7 #
8 # Copyright © 2005–2014 Michael Grünewald
9 #
10 # This file must be used under the terms of the CeCILL-B.
11 # This source file is licensed as described in the file COPYING, which
12 # you should have received as part of this distribution. The terms
13 # are also available at
14 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
15
16 # Variables:
17 #
18 #
19 # TEST [not set]
20 # The list of test to run
21 #
22 #
23 # TEST_ENV_UNSET [not set]
24 # List of variables to unset in test's environment
25 #
26 #
27 # TEST_ENV [not set]
28 # List of variables to export to test's environment
29 #
30 #
31 # TEST_SEQUENCE [clean obj depend build]
32 # List of targets to call for tests, before we call test itself
33
34
35 THISMODULE= generic.test
36
37 .if !defined(TEST)||empty(TEST)
38 .error The generic.test.mk module expects you to set the TEST variable to a sensible value.
39 .endif
40
41 .include "bps.init.mk"
42
43 all configure depend build doc:
44 ${NOP}
45 test: do-test
46 clean: do-clean
47 distclean: clean
48 realclean: distclean
49
50 .if defined(TEST_ENV_UNSET)
51 .for variable in ${TEST_ENV_UNSET}
52 TESTTOOL+= unset ${variable};
53 .endfor
54 .endif
55
56 .if defined(TEST_ENV)
57 TESTTOOL+= ${ENVTOOL}
58 .if!empty(TEST_ENV:M*=*)
59 TESTTOOL+= ${TEST_ENV:M*=*}
60 .endif
61 .for variable in ${TEST_ENV:N*=*}
62 TESTTOOL+= ${variable}=${${variable}:Q}
63 .endfor
64 .endif
65 TESTTOOL+= ${MAKE}
66
67 TEST_SEQUENCE?= realclean obj depend build
68
69 .ORDER: ${TEST:C@^@do-test-@}
70 .ORDER: ${TEST:C@$@.done@}
71
72 .for test in ${TEST}
73 .if exists(${test}.mk)
74 do-test: do-test-${test}
75 do-test-${test}: ${test}.done
76 ${test}.done: ${test}.mk
77 .for step in ${TEST_SEQUENCE}
78 ${INFO} ${SUBDIR_PREFIX}${test} '(${step})'
79 @${TESTTOOL} -f ${.ALLSRC:M*.mk} ${step}
80 .endfor
81 ${INFO} ${SUBDIR_PREFIX}${test} '(test)'
82 @${TESTTOOL} -f ${.ALLSRC:M*.mk} test
83 touch ${test}.done
84 do-clean: do-clean-${test}
85 do-clean-${test}: ${test}.mk .PHONY
86 ${INFO} ${SUBDIR_PREFIX}${test} '(clean)'
87 @${RM} -f ${test}.done
88 @${TESTTOOL} -f ${.ALLSRC:M*.mk} realclean
89 .else
90 .error ${test}: Test is not defined.
91 .endif
92 .endfor
93
94 .include "bps.usertarget.mk"
95
96 ### End of file `bsdowl.test.mk'
115115 _OCAML_CMXA.obj=_OCAML_CMXA
116116 _OCAML_CMXA.var=OCAMLANFLAGS OCAMLAFLAGS OCAMLFLAGS OCAMLANADD
117117
118 _OCAML_CMXS.cmd=OCAMLCS
119 _OCAML_CMXS.obj=_OCAML_CMXS
120 _OCAML_CMXS.var=OCAMLCSFLAGS OCAMLCFLAGS OCAMLFLAGS OCAMLCSADD
121
118122 _OCAML_PKO.cmd= OCAMLPB
119123 _OCAML_PKO.obj= _OCAML_PKO
120124 _OCAML_PKO.var= OCAMLPBFLAGS OCAMLCFLAGS OCAMLFLAGS
240244 .endif
241245 .undef clib
242246 .endif
243 .if (empty(_OCAML_CMO)||empty(_OCAML_CMO:M${obj}))&&(empty(_OCAML_CMX)||empty(_OCAML_CMX:M${obj}))
247 .if (empty(_OCAML_CMO)||empty(_OCAML_CMO:M${obj}))\
248 &&(empty(_OCAML_CMX)||empty(_OCAML_CMX:M${obj}))\
249 &&(empty(_OCAML_CMXS)||empty(_OCAML_CMXS:M${obj}))
244250 # We are not building a CMO nor a CMX file
245251 ${obj}:
246252 ${_OCAML_BUILD.${obj:T}} ${.ALLSRC:N*.cmi}
247253 .else
248254 # We are building a CMO or a CMX file
249 if:=${obj:C/.cm[xo]/.cmi/}
255 if:=${obj:C/.cm[xo]/.cmi/:C/.cmxs/.cmi/}
250256 .if !(empty(_OCAML_CMI)||empty(_OCAML_CMI:M${if}))
251257 ${obj}: ${if}
252258 ${obj}:
1616
1717 ### SYNOPSIS
1818
19 # COMPILE = byte_code|native_code|both|bc|nc|byte|native
19 # COMPILE = byte_code|native_code|both|byte|native
2020 # .include "ocaml.compile.mk"
2121
2222
5959 .if !target(__<ocaml.depend.mk>__)
6060 __<ocaml.depend.mk>__:
6161
62 .for directory in ${DIRS}
63 _OCAMLDEP_FILTER_SCRIPT+= -e "s@${directory}/*@@g"
64 .endfor
65
66 .if ("${.OBJDIR}" != "${.CURDIR}") && empty(DIRS:M${.CURDIR})
67 _OCAMLDEP_FILTER_SCRIPT+= -e "s@${.OBJDIR}/*@@g"
68 OCAMLDEPFLAGS+= -I ${.OBJDIR}
69 .endif
70
71 _OCAMLDEP_FILTER= sh -c '${SED} ${_OCAMLDEP_FILTER_SCRIPT}'\
72 -- OCAMLDEP_FILTER
73
6274 .for thg in ${_OCAML_SRCS}
6375 .for item in ${${thg}}
64 .depend: ${item:C/.ml[ly]/.ml/}
65 .if exists(${item:.ml=.mli})
66 .depend: ${item:.ml=.mli}
76 _OCAML_DEPEND+= ${item:C/.ml[ly]/.ml/}
77 .if exists(${item:C/.ml[ly]/.ml/:.ml=.mli})
78 _OCAML_DEPEND+= ${item:C/.ml[ly]/.ml/:.ml=.mli}
6779 .endif
68 .if !empty(${thg}:M*mly)
69 .for item in ${${thg}:M*.mly}
70 .if !exists(${item:.mly=.mli})
71 .depend: ${item:.mly=.mli}
72 .endif
73 .endfor
74 .endif
75 .endfor
76 # This logic adds implementation files associated to lexers when they
77 # are defined. Does it belongs `ocaml.lex.mk`?
78 .for item in ${${thg}:M*.mll}
79 .if exists(${item:.mll=.mli})
80 .depend: ${item:.mll=.mli}
81 .endif
82 .endfor
83 # This logic adds implementation files associated to parsers. Does it
84 # belongs `ocaml.yacc.mk`?
85 .for item in ${${thg}:M*.mly}
86 .depend: ${item:.mly=.mli}
8780 .endfor
8881 .endfor
8982
90 .depend:
91 .if !defined(_OCAML_COMPILE_NATIVE_ONLY)
92 ocamldep ${OCAMLDEPFLAGS} ${.ALLSRC} > ${.TARGET}
83 .if defined(_OCAML_COMPILE_NATIVE_ONLY)
84 OCAMLDEPFLAGS+= -native
85 .endif
86
87 .if defined(_OCAML_DEPEND)
88 .depend: ${_OCAML_DEPEND}
89 (cd ${.CURDIR} && ocamldep ${OCAMLDEPFLAGS} ${_OCAML_DEPEND})\
90 | ${_OCAMLDEP_FILTER} \
91 > ${.TARGET}
9392 .else
94 ocamldep -native ${OCAMLDEPFLAGS} ${.ALLSRC} > ${.TARGET}
93 .depend: .PHONY
94 ${NOP}
9595 .endif
9696
9797 DISTCLEANFILES+= .depend
5656
5757 .if defined(DIRS)&&!empty(DIRS)
5858 _OCAML_DIRS=${DIRS:C/^/-I /}
59 # Compiled interfaces files probably never appear on the command line
60 # and also probably do not need to be looked up by make, so the .cmi
61 # suffix is omitted from the next list.
62 #.PATH.cmi: ${DIRS}
59 .PATH.cmi: ${DIRS}
6360 .PATH.cmo: ${DIRS}
6461 .PATH.cmx: ${DIRS}
6562 .PATH.cmxa: ${DIRS}
6966 .endif
7067
7168 .if !defined(OCAMLROOTDIR)
72 OCAMLROOTDIR!= ${OCAMLCI} -where
69 OCAMLROOTDIR!= 2>/dev/null ${OCAMLCI} -where
7370 .endif
7471
72 .if defined(OCAMLROOTDIR)
73 .PATH.cmi: ${OCAMLROOTDIR}
7574 .PATH.cmo: ${OCAMLROOTDIR}
7675 .PATH.cmx: ${OCAMLROOTDIR}
7776 .PATH.cmxa: ${OCAMLROOTDIR}
7877 .PATH.cma: ${OCAMLROOTDIR}
7978 .PATH.a: ${OCAMLROOTDIR}
8079 .PATH.o: ${OCAMLROOTDIR}
80 .endif
8181
8282 .if defined(_OCAML_DIRS) && !empty(_OCAML_DIRS)
83 .for tool in OCAMLCI OCAMLCB OCAMLCN OCAMLLB OCAMLLN OCAMLDEP
83 .for tool in OCAMLCI OCAMLCB OCAMLCN OCAMLCS OCAMLLB OCAMLLN OCAMLDEP
8484 ${tool}FLAGS+=${_OCAML_DIRS}
8585 .endfor
8686 .endif
125125 # Profiling case
126126 OCAMLCB?= ${OCAMLFIND} ocamlcp -c
127127 OCAMLCN?= ${OCAMLFIND} ocamloptp -c
128 OCAMLCS?= ${OCAMLFIND} ocamloptp -shared
128129 .if defined(_OCAML_COMPILE_NATIVE_ONLY)
129130 OCAMLCI?= ${OCAMLFIND} ocamloptp -c
130131 .else
136137 # Not profiling case
137138 OCAMLCB?= ${OCAMLFIND} ocamlc -c
138139 OCAMLCN?= ${OCAMLFIND} ocamlopt -c
140 OCAMLCS?= ${OCAMLFIND} ocamlopt -shared
139141 .if defined(_OCAML_COMPILE_NATIVE_ONLY)
140142 OCAMLCI?= ${OCAMLFIND} ocamlopt -c
141143 .else
154156 .endif
155157
156158
157 .for pseudo in OCAMLCB OCAMLCN OCAMLCI OCAMLLB OCAMLLN OCAMLDOC OCAMLMKTOP
159 .for pseudo in OCAMLCB OCAMLCN OCAMLCS OCAMLCI OCAMLLB OCAMLLN\
160 OCAMLDOC OCAMLMKTOP
158161 .if defined(PKGS)&&!empty(PKGS)
159162 ${pseudo}+= -package "${PKGS}"
160163 .endif
8686 _OCAML_OBJECT+= _OCAML_CN
8787 _OCAML_OBJECT+= _OCAML_CMA
8888 _OCAML_OBJECT+= _OCAML_CMXA
89 _OCAML_OBJECT+= _OCAML_CMXS
8990 _OCAML_OBJECT+= _OCAML_PKO
9091 _OCAML_OBJECT+= _OCAML_PKX
9192
8787 ${lexer:.mll=.ml}: ${lexer}
8888 ${OCAMLLEX} -o ${.TARGET} ${.ALLSRC}
8989
90 .if !empty(_OCAML_MLI:M${lexer:.mll=.mli})
91 ${lexer:.mll=.cmo}: ${lexer:.mll=.cmi}
92 ${lexer:.mll=.cmx}: ${lexer:.mll=.cmi}
93 .endif
94
9095 .endfor
9196 .endif
9297
6868 #
6969 # site-lib: No argument allowed
7070 # Use ${libdir}/ocaml/site-lib as default value for ocamllibdir
71 #
72 #
73 # dynlink: No argument allowed
74 # Prepare dynlink plugins
7175
7276
7377 ### IMPLEMENTATION
8387
8488 .include "ocaml.init.mk"
8589
86 _OCAML_SRCS?=
87 _OCAML_CMA?=
88 _OCAML_CMXA?=
89 _OCAML_A?=
90
9190 _OCAML_LIB:= ${LIBRARY}
9291
9392 .for lib in ${_OCAML_LIB}
9796 _OCAML_SRCS+= SRCS.${lib}.cmxa
9897 _OCAML_CMXA+= ${lib:T}.cmxa
9998 _OCAML_A+= ${lib:T}.a
99 _OCAML_SRCS.${lib:T}.cmxa+=\
100 ${SRCS.${lib}.cmxa:C@\.ml[ly]@.ml@:M*.ml:.ml=.cmx}
101 LIB+= ${lib}.cmxa ${lib}.a
102 .endif
103 .if defined(_OCAML_COMPILE_NATIVE)&&defined(_OCAML_COMPILE_PLUGIN)
104 _OCAML_CMXS+= ${SRCS.${lib}.cmxa:C@\.ml[ly]@.ml@:M*.ml:.ml=.cmxs}
100105 .endif
101106 .if defined(_OCAML_COMPILE_BYTE)
102107 SRCS.${lib:T}.cma?= ${SRCS.${lib:T}}
103108 _OCAML_SRCS+= SRCS.${lib}.cma
104109 _OCAML_CMA+= ${lib:T}.cma
110 _OCAML_SRCS.${lib:T}.cma+=\
111 ${SRCS.${lib:T}.cma:C@\.ml[ly]@.ml@:M*.ml:.ml=.cmo}
112 LIB+= ${lib}.cma
113 .endif
114 .if!empty(SRCS.${lib:T}:C@\.ml[ly]@.ml@:M*.ml)
115 LIB+= ${SRCS.${lib:T}:C@\.ml[ly]@.ml@:M*.ml:.ml=.cmi}
105116 .endif
106117 .endfor
107118
119 .if !empty(_OCAML_CMXS)
120 LIB+= ${_OCAML_CMXS}
121 CLEANFILES+= ${_OCAML_CMXS}
122 .endif
108123
109124 .include "ocaml.main.mk"
125
126 .if !empty(_OCAML_CMXS)
127 .for plugin in ${_OCAML_CMXS}
128 ${plugin}: ${plugin:.cmxs=.ml}
129 .endfor
130 .endif
110131
111132
112133 .for lib in ${_OCAML_LIB}
113134 .if defined(_OCAML_COMPILE_NATIVE)
114 LIB+= ${lib}.cmxa ${lib}.a
115 _OCAML_SRCS.${lib}.cmxa=${.ALLSRC}
116 ${lib}.cmxa: ${SRCS.${lib}.cmxa:C@\.ml[ly]@.ml@:M*.ml:.ml=.cmx}
135 ${lib}.cmxa: ${_OCAML_SRCS.${lib}.cmxa}
117136 .endif
118137 .if defined(_OCAML_COMPILE_BYTE)
119 LIB+= ${lib}.cma
120 _OCAML_SRCS.${lib:T}.cma=${.ALLSRC}
121 ${lib}.cma: ${SRCS.${lib:T}.cma:C@\.ml[ly]@.ml@:M*.ml:.ml=.cmo}
122 .endif
123 .if !empty(SRCS.${lib:T}:C@\.ml[ly]@.ml@:M*.ml)
124 LIB+= ${SRCS.${lib:T}:C@\.ml[ly]@.ml@:M*.ml:.ml=.cmi}
138 ${lib}.cma: ${_OCAML_SRCS.${lib:T}.cma}
125139 .endif
126140 .endfor
127141
278278
279279 PRODUCT+= ${ODOC}
280280
281 do-product: do-product-odoc
282 do-product-odoc:
283 @${PRODUCTTOOL} '${ODOC}' ''
284
281285 .if !empty(ODOC_LOAD)
282286 ${ODOC_HTML}: ${ODOC_LOAD}
283287 .endif
324328 _ODOC_HTML_TOOL+=-css-style ${ODOC_HTML_CSS_URL}
325329 .endif
326330
331 .if defined(ODOC_HTML_CSS_FILE)&&!empty(ODOC_HTML_CSS_FILE)
332 ${ODOC_HTML}: ${ODOC_HTML_CSS_FILE}
333 .endif
334
327335 .if defined(ODOC_HTML_INTRO)&&!empty(ODOC_HTML_INTRO)
328336 ${ODOC_HTML}: ${ODOC_HTML_INTRO}
329 _ODOC_HTML_TOOL+=-intro ${ODOC_HTML_INTRO}
337 _ODOC_HTML_TOOL+=-intro ${.ALLSRC:M*${ODOC_HTML_INTRO}}
330338 .endif
331339
332340 do-doc-odoc: ${ODOC_HTML}
340348 ${ODOC_HTML}:
341349 ${RM} -R -f ${ODOC_HTML}.temp ${ODOC_HTML}
342350 ${MKDIR} ${ODOC_HTML}.temp
343 ${_ODOC_HTML_TOOL} -d ${ODOC_HTML}.temp ${.ALLSRC:N*.cmi:N*.odoc:N*.text}
351 ${_ODOC_HTML_TOOL} -d ${ODOC_HTML}.temp\
352 ${.ALLSRC:N*.cmi:N*.odoc:N*.text:N*.css}
344353 .if defined(ODOC_HTML_CSS_FILE)&&!empty(ODOC_HTML_CSS_FILE)
345 ${CP} ${ODOC_HTML_CSS_FILE} ${ODOC_HTML}.temp/style.css
354 ${CP} ${.ALLSRC:M*${ODOC_HTML_CSS_FILE}} ${ODOC_HTML}.temp/style.css
346355 .endif
347356 ${MV} ${ODOC_HTML}.temp ${ODOC_HTML}
348357
3434 #
3535 # OCAMLCN (ocamlopt)
3636 # Native compiler
37 #
38 #
39 # OCAMLCS (ocamlopt)
40 # Native plugin compiler
3741 #
3842 #
3943 # OCAMLCI (ocamlc or ocamlopt)
96100
97101 _OCAML_TOOLS+= OCAMLCI
98102 _OCAML_TOOLS+= OCAMLCB
103 _OCAML_TOOLS+= OCAMLCS
99104 _OCAML_TOOLS+= OCAMLCN
100105 _OCAML_TOOLS+= OCAMLAB
101106 _OCAML_TOOLS+= OCAMLAN
115120 # Profiling case
116121 OCAMLCB?= ocamlcp -c
117122 OCAMLCN?= ocamloptp -c
123 OCAMLCS?= ocamloptp -shared
118124 .if defined(_OCAML_COMPILE_NATIVE_ONLY)
119125 OCAMLCI?= ocamloptp -c
120126 .else
130136 # Optimized compiler case
131137 OCAMLCB?= ocamlc.opt -c
132138 OCAMLCN?= ocamlopt.opt -c
139 OCAMLCS?= ocamlopt.opt -shared
133140 .if defined(_OCAML_COMPILE_NATIVE_ONLY)
134141 OCAMLCI?= ocamlopt.opt -c
135142 .else
145152 # Normal case
146153 OCAMLCB?= ocamlc -c
147154 OCAMLCN?= ocamlopt -c
155 OCAMLCS?= ocamlopt -shared
148156 .if defined(_OCAML_COMPILE_NATIVE_ONLY)
149157 OCAMLCI?= ocamlopt -c
150158 .else
4141 .endfor
4242 .endif
4343
44 .if !empty(_USES_OPTIONS:Mdynlink)
45 .if !empty(_USES_ocamldoc_ARGS)
46 .error Incorrect "USES+= dynlink:${_USES_ocamldoc_ARGS}" usage:\
47 arguments are not allowed.
48 .endif
49 _OCAML_COMPILE_PLUGIN= yes
50 .endif
51
4452 .endif # !target(__<ocaml.uses.mk>__)
4553
4654 ### End of file `ocaml.uses.mk'
7878 ${OCAMLYACC} -b ${.TARGET:S/.mli$//:S/.ml$//} ${.ALLSRC}
7979
8080 ${parser:.mly=.cmo}: ${parser:.mly=.cmi}
81 ${parser:.mly=.cmx}: ${parser:.mly=.cmi}
8182
8283 .endfor
8384 .endif
2424 all configure install build depend doc:
2525 ${NOP}
2626
27 .include "bps.subdir.mk"
27 .include "generic.subdir.mk"
2828
2929 ### End of file `Makefile'
1616 TEST= AssertMakeOS
1717 TEST+= AssertOneWord
1818
19 TESTSEQUENCE?= all
19 TEST_SEQUENCE?= all
2020
2121 .include "bsdowl.test.mk"
2222
1515
1616 SUBDIR= dotfile
1717
18 .include "bps.subdir.mk"
18 .include "generic.subdir.mk"
1919
2020 ### End of file `Makefile'
1818 SUBDIR+= test_library
1919 SUBDIR+= test_complex
2020
21 .include "bps.subdir.mk"
21 .include "generic.subdir.mk"
2222
2323 ### End of file `Makefile'
1616 TEST= TestComplex
1717 TEST+= TestComplexMultiple
1818
19 TESTSEQUENCE= clean obj depend build install
19 TEST_SEQUENCE= clean obj depend build install
2020
2121 .if "${WITH_TESTSUITE_GPG}" == "yes"
22 TESTSEQUENCE+= dist
22 TEST_SEQUENCE+= dist
2323 .endif
2424
2525 .include "bsdowl.test.mk"
5353 test: test-dist
5454 .endif
5555
56 .include "bps.project.mk"
56 .include "generic.project.mk"
5757
5858 ### End of file `TestComplex.mk'
1818 SUBDIR+= test_library
1919 SUBDIR+= test_complex
2020
21 .include "bps.subdir.mk"
21 .include "generic.subdir.mk"
2222
2323 ### End of file `Makefile'
3838
3939 test: test-lib test-doc test-prog
4040
41 .include "bps.project.mk"
41 .include "generic.project.mk"
4242
4343 ### End of file `TestComplex.mk'
1515
1616 TEST= TestLibrary
1717 TEST+= TestLibraryDoc
18 TEST+= TestLibraryDynlink
1819
1920 .if "${WITH_TESTSUITE_FINDLIB}" == "yes"
2021 TEST+= TestLibraryFindlib
0 ### TestLibraryDynlink.mk -- Produce a simple library and install with findlib
1
2 # Author: Michael Grünewald
3 # Date: Sun Nov 30 12:18:24 CET 2014
4
5 # BSD Owl Scripts (https://github.com/michipili/bsdowl)
6 # This file is part of BSD Owl Scripts
7 #
8 # Copyright © 2005–2014 Michael Grünewald
9 #
10 # This file must be used under the terms of the CeCILL-B.
11 # This source file is licensed as described in the file COPYING, which
12 # you should have received as part of this distribution. The terms
13 # are also available at
14 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
15
16 LIBRARY= newton
17
18 SRCS= newton.ml
19
20 USES+= site-lib
21 USES+= dynlink
22
23 COMPILE= native
24
25 .PATH: ${TESTSRCDIR}/ocaml/newton
26 .PATH: ${TESTSRCDIR}/ocaml/newton-meta
27
28 test:
29 test -f ${DESTDIR}${LIBDIR}/newton.cmxa
30 test -f ${DESTDIR}${LIBDIR}/newton.cmxs
31 test -f ${DESTDIR}${LIBDIR}/newton.cmi
32 test -f ${DESTDIR}${LIBDIR}/META
33
34 .include "ocaml.lib.mk"
35
36 ### End of file `TestLibraryDynlink.mk'
1717 SUBDIR= test_shell
1818 SUBDIR+= test_python
1919
20 .include "bps.subdir.mk"
20 .include "generic.subdir.mk"
2121
2222 ### End of file `Makefile'
1919 SUBDIR+= funniest
2020 .endif
2121
22 .include "bps.subdir.mk"
22 .include "generic.subdir.mk"
2323
2424 ### End of file `Makefile'
3131
3232 USE_SUBDIR= yes
3333
34 .include "bps.subdir.mk"
34 .include "generic.subdir.mk"
3535
3636 ### End of file `Makefile'
3535 test -f ${DESTDIR}${DOCDIR}/complex.ps
3636 test -f ${DESTDIR}${DOCDIR}/complex.pdf
3737
38 .include "bps.project.mk"
38 .include "generic.project.mk"
3939
4040 ### End of file `TestComplex.mk'
5151
5252 test: test-class test-example test-manual
5353
54 .include "bps.project.mk"
54 .include "generic.project.mk"
5555
5656 ### End of file `TestNoweb.mk'
143143
144144
145145 #
146 # Document names
147 #
148
149 .for document in ${_TEX_DOCUMENT}
150 .for device in ${TEXDEVICE}
151 .if defined(DOCNAME.${document:T})&&!defined(DOCNAME.${document:T}.${device})
152 DOCNAME.${document:T}.${device}= ${DOCNAME.${document:T}}.${device}
153 .endif
154 .endfor
155 .endfor
156
157 .for document in ${_MPOST_DOCUMENT}
158 .for device in ${MPDEVICE}
159 .if defined(DOCNAME.${document:T})&&!defined(DOCNAME.${document:T}.${device})
160 DOCNAME.${document:T}.${device}= ${DOCNAME.${document:T}}.${device}
161 .endif
162 .endfor
163 .endfor
164
165
166 #
146167 # Register cookiefiles
147168 #
148169
4343
4444 .for document in ${_TEX_DOCUMENT}
4545 .for device in ${TEXDEVICE}
46 .if defined(TEXDOCNAME.${document:T}.${device})
47 DOCNAME.${document:T}.${device}:= ${TEXDOCNAME.${document:T}}_${TEXDRAFTSTAMP}.${device}
46 .if defined(DOCNAME.${document:T}.${device})
47 DOCNAME.${document:T}.${device}:= ${DOCNAME.${document:T}}_${TEXDRAFTSTAMP}.${device}
4848 .else
4949 DOCNAME.${document:T}.${device}= ${document:T}_${TEXDRAFTSTAMP}.${device}
5050 .endif
2020 .if !target(__<texmf.module.mk>__)
2121 __<texmf.module.mk>__:
2222
23 .for module_name in mpost.files mpost.doc\
24 tex.files tex.doc latex.files latex.doc
25 .for path in MPINPUTS TEXINPUTS
26
27 .for module_path in ${_MODULE_${module_name}_ARGS}
28 .if empty(${module_path}:M${SRCDIR}/${module_path})
29 ${path}+= ${SRCDIR}/${module_path}
30 .endif
31 .if empty(${module_path}:M${WRKDIR}/${module_path})
32 ${path}+= ${WRKDIR}/${module_path}
33 .endif
34 .endfor
35
36 .endfor
37 .endfor
38
2339 .endif # !target(__<texmf.module.mk>__)
2440
2541 ### End of file `texmf.module.mk'