This file is indexed.

/usr/share/mk/ocaml.pack.mk is in bsdowl 2.2.2-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
### ocaml.pack.mk -- Building OCaml packed modules

# Author: Michael Grünewald
# Date: Tue Apr  5 12:31:04 CEST 2005

# BSD Owl Scripts (https://bitbucket.org/michipili/bsdowl)
# This file is part of BSD Owl Scripts
#
# Copyright © 2005–2014 Michael Grünewald
#
# This file must be used under the terms of the CeCILL-B.
# This source file is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at
# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt


### SYNOPSIS

# PACK=		minibasic
# SRCS=		main.ml
# SRCS+=	basic_types.ml
# SRCS+=	basic_parser.mly
# SRCS+=	basic_lexer.mll
#
# .include "ocaml.pack.mk"


### DESCRIPTION

# Build an OCaml packed module as with the `-pack` options of the
# compiler.
#
# It supports building bytecode and native libraries, ocamlfind,
# lexers and parsers generated by ocamllex and ocamlyacc and
# debugging, profiling as well.

#  PACK
#   Name of the packed module
#
#   This can actually be a list of packed modules.  In this case for
#   each `module` a variable `SRCS.module` should specify files that
#   will be part of the packed `module`.
#
#
#  SRCS
#   Files that must be compiled
#
#   It can list implementation files, interface files, lexer and
#   parser definitions. It is not necessary to specify interface file
#   if an implementation is present.
#
#   For each packed `module`, if there is an interface file
#   `${module}.mli`, it is compiled and used.
#
#
#  DIRS
#   Directories that are searched for libraries or compiled modules
#
#
#  PKGS
#   OCamlfind packages that are used
#
#
#  LIBOWN, LIBGRP, LIBMODE, LIBDIR, LIBNAME
#   Parameters of the module installation
#
#   See `bps.own.mk` for a closer description of these variables.


.include "bps.init.mk"
.include "ocaml.init.mk"

.if !defined(PACK)||empty(PACK)
.error The ocaml.pack.mk module expects you to set the PACK variable to a sensible value.
.endif

_OCAML_SRCS?=
_OCAML_CMA?=
_OCAML_CMXA?=
_OCAML_A?=

_OCAML_PACK:=${PACK}
_OCAML_CAPITALISED_PACK!= awk -v pack="${_OCAML_PACK}" 'BEGIN{print(toupper(substr(pack,1,1)) substr(pack,2));exit}'

OCAMLCNFLAGS+= -for-pack ${_OCAML_CAPITALISED_PACK}

#
# Prepare source lists
#

.for pack in ${_OCAML_PACK}
SRCS.${pack:T}?=${SRCS}
.if exists(${pack:T}.mli)
_OCAML_CMI+=${pack:T}.cmi
${pack:T}.cmo: ${pack:T}.cmi
${pack:T}.cmx: ${pack:T}.cmi
.elif !target(${pack:T}.cmi)
.if defined(_OCAML_COMPILE_NATIVE_ONLY)
${pack:T}.cmi: ${pack:T}.cmx
	${NOP}
.else
${pack:T}.cmi: ${pack:T}.cmo
	${NOP}
.endif
.endif
.if defined(_OCAML_COMPILE_NATIVE)
SRCS.${pack:T}.cmx?=${SRCS.${pack:T}}
SRCS.${pack:T}.cmxa?=${pack}.cmx
_OCAML_SRCS+=SRCS.${pack}.cmx
_OCAML_CMXA+=${pack:T}.cmxa
_OCAML_PKX+=${pack:T}.cmx
_OCAML_A+=${pack:T}.a
.endif
.if defined(_OCAML_COMPILE_BYTE)
SRCS.${pack:T}.cmo?=${SRCS.${pack:T}}
SRCS.${pack:T}.cma?=${pack}.cmo
_OCAML_SRCS+=SRCS.${pack}.cmo
_OCAML_CMA+=${pack:T}.cma
_OCAML_PKO+=${pack:T}.cmo
.endif
.endfor


#
# Define build targets
#

.include "ocaml.main.mk"


#
# Epilogue,
#  installation groups and product cleaning
#

.for pack in ${_OCAML_PACK}
.if defined(_OCAML_COMPILE_NATIVE)
LIB+= ${pack}.cmxa ${pack}.a
_OCAML_SRCS.${pack}.cmx=${.ALLSRC}
_OCAML_SRCS.${pack}.cmxa=${.ALLSRC}
${pack}.cmx: ${SRCS.${pack:T}.cmx:C/\.ml[ly]/.ml/:M*.ml:.ml=.cmx}
${pack}.cmxa: ${pack}.cmx
.endif
.if defined(_OCAML_COMPILE_BYTE)
LIB+= ${pack}.cma
_OCAML_SRCS.${pack}.cmo=${.ALLSRC}
_OCAML_SRCS.${pack}.cma=${.ALLSRC}
${pack}.cmo: ${SRCS.${pack:T}.cmo:C/\.ml[ly]/.ml/:M*.ml:.ml=.cmo}
${pack}.cma: ${pack}.cmo
.endif
LIB+= ${pack}.cmi
.endfor

LIBDIR=${PREFIX}/lib/ocaml${PACKAGEDIR}

.include "bps.clean.mk"
.include "bps.files.mk"
.include "bps.usertarget.mk"

### End of file `ocaml.pack.mk'