This file is indexed.

/usr/share/cook/c++ is in cook 2.33-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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
/*
 * NAME
 *      c++ - the C++ compiler cookbook
 *
 * DESCRIPTION
 *      This cookbook describes how to work with C++ files.
 *      Include file dependencies are automatically determined.
 *
 * RECIPES
 *      %.o: %.cpp      make object files form C++ source files
 *      %.o: %.cc       make object files form C++ source files
 *      %.o: %.c++      make object files form C++ source files
 *
 * VARIABLES
 *      c_incl          The C++ include dependency sniffer command.
 *                      Not altered if already defined.
 *      c++             The C++ compiler command
 *                      Not altered if already defined.
 *      c++_flags       options to pass to the C++ compiler command
 *                      Not altered if already defined.
 *                      The default is "-O".
 *      c++_include_flags Options passed to the C++ compiler and c_incl
 *                      controlling include file searching.
 *                      Not altered if already defined.
 *                      The default is empty.
 *      c++_src         C++ source files in the current directory.
 *      dot_src         Source files constructable in the current directory
 *                      (unioned with existing setting, if necessary).
 *      dot_obj         Object files constructable in the current directory
 *                      (unioned with existing setting, if necessary).
 *      dot_clean       Files which may be removed from the current directory
 *                      in a clean target.
 *
 * SEE ALSO
 *      program         The program cookbook:
 *         ld              The linker program
 *         ld_flags        The linker flags, NOT libraries
 *         ld_libraries    The linker flags (-L, -l) for libraries
 * Copyright (C) 2002, 2007 Peter Miller
 */

#pragma once

if [not [defined c_incl]] then
        c_incl = [find_command c_incl];
if [not [defined c++]] then
        c++ = g++;
if [not [defined c++_flags]] then
        c++_flags = -O;
if [not [defined c++_include_flags]] then
        c++_include_flags = ;
if [not [defined c++_link_flags]] then
        c++_link_flags = ;
c++_src = [glob "*.cpp" "*.cc" "*.c++" ];
if [not [defined dot_src]] then
        dot_src = ;
dot_src =
        [stringset
            [dot_src] [c++_src]
        -
            [fromto %.cpp %.s
            [fromto %.c++ %.s
            [fromto %.cc %.s
                [c++_src]
            ]]]
        ];
if [not [defined dot_obj]] then
        dot_obj = ;
dot_obj =
        [stringset
            [dot_obj]

            [fromto %.cpp %.o
            [fromto %.c++ %.o
            [fromto %.cc %.o
                [c++_src]
            ]]]
        ];
if [not [defined dot_clean]] then
        dot_clean = ;
dot_clean =
        [stringset
                [dot_clean]
                [fromto %.cpp %.o
                [fromto %.cc %.o
                [fromto %.c++ %.o
                    [c++_src]
                ]]]
                [fromto %.cpp %.s
                [fromto %.cc %.s
                [fromto %.c++ %.s
                    [c++_src]
                ]]]
        ];

%.o: %.cpp
{
        [c++] [c++_include_flags] [c++_flags]
                [addprefix "-I" [search_list]]
                -o [target]
                -c [resolve %.cpp];
}

%.o: %.cc
{
        [c++] [c++_include_flags] [c++_flags]
                [addprefix "-I" [search_list]]
                -o [target]
                -c [resolve %.cc];
}

%.o: %.c++
{
        [c++] [c++_include_flags] [c++_flags]
                [addprefix "-I" [search_list]]
                -o [target]
                -c [resolve %.c++];
}

/*
 * if the c_incl command is available, then check dependencies
 */
#if [c_incl]
        %.cpp.d: %.cpp
        {
                [c_incl] -nc -ns -nrec
                        [c++_include_flags]
                        [resolve %.cpp]
                        [addprefix "-I" [search_list]]
                        -prefix "'cascade %.cpp ='"
                        -suffix "';'"
                        [addprefix "-rlp=" [split ":" [search_list]]]
                        -o [target];
        }
        %.cc.d: %.cc
        {
                [c_incl] -nc -ns -nrec
                        [c++_include_flags]
                        [resolve %.cc]
                        [addprefix "-I" [search_list]]
                        -prefix "'cascade %.cc ='"
                        -suffix "';'"
                        [addprefix "-rlp=" [split ":" [search_list]]]
                        -o [target];
        }
        %.c++.d: %.c++
        {
                [c_incl] -nc -ns -nrec
                        [c++_include_flags]
                        [resolve %.c++]
                        [addprefix "-I" [search_list]]
                        -prefix "'cascade %.c++ ='"
                        -suffix "';'"
                        [addprefix "-rlp=" [split ":" [search_list]]]
                        -o [target];
        }
        %.h.d: %.h
        {
                [c_incl] -nc -ns -nrec
                        [c++_include_flags]
                        [resolve %.h]
                        [addprefix "-I" [search_list]]
                        -prefix "'cascade %.h ='"
                        -suffix "';'"
                        [addprefix "-rlp=" [split ":" [search_list]]]
                        -o [target];
        }

        c++_dep_files = [addsuffix ".d" [c++_src] [glob "*.h"]];
        dot_clean =
                [stringset
                        [dot_clean]
                        [c++_dep_files]
                ];

        #include-cooked-nowarn [c++_dep_files]
#endif