]>
Commit | Line | Data |
---|---|---|
9f0a21e6 MM |
1 | .if !defined(WITH_CTF) |
2 | WITH_CTF=1 | |
3 | .endif | |
4 | ||
5 | .include <bsd.sys.mk> | |
6 | ||
109d2c93 | 7 | SRCDIR=${.CURDIR} |
9f0a21e6 MM |
8 | INCDIR=${.CURDIR:H}/include |
9 | ||
10 | KMOD= openzfs | |
11 | ||
12 | .PATH: ${SRCDIR}/avl \ | |
13 | ${SRCDIR}/lua \ | |
14 | ${SRCDIR}/nvpair \ | |
15 | ${SRCDIR}/os/freebsd/spl \ | |
16 | ${SRCDIR}/os/freebsd/zfs \ | |
17 | ${SRCDIR}/unicode \ | |
18 | ${SRCDIR}/zcommon \ | |
19 | ${SRCDIR}/zfs | |
20 | ||
21 | ||
109d2c93 | 22 | CFLAGS+= -I${.OBJDIR:H}/include |
9f0a21e6 MM |
23 | CFLAGS+= -I${INCDIR} |
24 | CFLAGS+= -I${INCDIR}/spl | |
25 | CFLAGS+= -I${INCDIR}/os/freebsd | |
26 | CFLAGS+= -I${INCDIR}/os/freebsd/spl | |
27 | CFLAGS+= -I${INCDIR}/os/freebsd/zfs | |
28 | CFLAGS+= -include ${INCDIR}/os/freebsd/spl/sys/ccompile.h | |
29 | ||
30 | CFLAGS+= -D__KERNEL__ -DFREEBSD_NAMECACHE -DBUILDING_ZFS -D__BSD_VISIBLE=1 | |
31 | CFLAGS+= -DHAVE_UIO_ZEROCOPY -DWITHOUT_NETDUMP -D__KERNEL -D_SYS_CONDVAR_H_ | |
32 | CFLAGS+= -D_SYS_VMEM_H_ -D_MACHINE_ENDIAN_H_ -DKDTRACE_HOOKS -DSMP | |
33 | ||
34 | .if ${MACHINE_ARCH} == "amd64" | |
35 | CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_SSE2 -DHAVE_AVX512F | |
36 | .endif | |
37 | ||
38 | .if defined(WITH_DEBUG) && ${WITH_DEBUG} == "true" | |
39 | CFLAGS+= -DINVARIANTS -DWITNESS -g -O0 -DZFS_DEBUG -DOPENSOLARIS_WITNESS | |
40 | .else | |
41 | CFLAGS += -DNDEBUG | |
42 | .endif | |
43 | ||
44 | .if defined(WITH_VFS_DEBUG) && ${WITH_VFS_DEBUG} == "true" | |
45 | # kernel must also be built with this option for this to work | |
46 | CFLAGS+= -DDEBUG_VFS_LOCKS | |
47 | .endif | |
48 | ||
49 | .if defined(WITH_GCOV) && ${WITH_GCOV} == "true" | |
50 | CFLAGS+= -fprofile-arcs -ftest-coverage | |
51 | .endif | |
52 | ||
53 | DEBUG_FLAGS=-g | |
54 | ||
55 | .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \ | |
56 | ${MACHINE_ARCH} == "arm" | |
57 | CFLAGS+= -DBITS_PER_LONG=32 | |
58 | .else | |
59 | CFLAGS+= -DBITS_PER_LONG=64 | |
60 | .endif | |
61 | ||
62 | SRCS= vnode_if.h device_if.h bus_if.h | |
63 | ||
64 | # avl | |
65 | SRCS+= avl.c | |
66 | ||
67 | #lua | |
68 | SRCS+= lapi.c \ | |
69 | lauxlib.c \ | |
70 | lbaselib.c \ | |
71 | lcode.c \ | |
72 | lcompat.c \ | |
73 | lcorolib.c \ | |
74 | lctype.c \ | |
75 | ldebug.c \ | |
76 | ldo.c \ | |
77 | lfunc.c \ | |
78 | lgc.c \ | |
79 | llex.c \ | |
80 | lmem.c \ | |
81 | lobject.c \ | |
82 | lopcodes.c \ | |
83 | lparser.c \ | |
84 | lstate.c \ | |
85 | lstring.c \ | |
86 | lstrlib.c \ | |
87 | ltable.c \ | |
88 | ltablib.c \ | |
89 | ltm.c \ | |
90 | lvm.c \ | |
91 | lzio.c | |
92 | ||
93 | #nvpair | |
94 | SRCS+= nvpair.c \ | |
95 | fnvpair.c \ | |
96 | nvpair_alloc_spl.c \ | |
97 | nvpair_alloc_fixed.c | |
98 | ||
99 | #os/freebsd/spl | |
100 | SRCS+= acl_common.c \ | |
101 | btree.c \ | |
102 | callb.c \ | |
103 | list.c \ | |
104 | spl_acl.c \ | |
105 | spl_cmn_err.c \ | |
106 | spl_dtrace.c \ | |
107 | spl_kmem.c \ | |
108 | spl_kstat.c \ | |
109 | spl_misc.c \ | |
110 | spl_policy.c \ | |
111 | spl_string.c \ | |
112 | spl_sunddi.c \ | |
113 | spl_sysevent.c \ | |
114 | spl_taskq.c \ | |
115 | spl_uio.c \ | |
116 | spl_vfs.c \ | |
117 | spl_vm.c \ | |
118 | spl_zone.c \ | |
119 | sha256c.c \ | |
120 | sha512c.c \ | |
121 | spl_procfs_list.c \ | |
122 | spl_zlib.c | |
123 | ||
124 | ||
125 | .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \ | |
126 | ${MACHINE_ARCH} == "arm" | |
127 | SRCS+= spl_atomic.c | |
128 | .endif | |
129 | ||
130 | #os/freebsd/zfs | |
fc551d7e | 131 | SRCS+= abd_os.c \ |
9f0a21e6 MM |
132 | crypto_os.c \ |
133 | dmu_os.c \ | |
134 | hkdf.c \ | |
135 | kmod_core.c \ | |
136 | spa_os.c \ | |
137 | sysctl_os.c \ | |
138 | vdev_file.c \ | |
139 | vdev_label_os.c \ | |
140 | vdev_geom.c \ | |
141 | zfs_acl.c \ | |
142 | zfs_ctldir.c \ | |
143 | zfs_dir.c \ | |
144 | zfs_ioctl_os.c \ | |
145 | zfs_log.c \ | |
146 | zfs_replay.c \ | |
147 | zfs_vfsops.c \ | |
148 | zfs_vnops.c \ | |
149 | zfs_znode.c \ | |
150 | zio_crypt.c \ | |
151 | zvol_os.c | |
152 | ||
153 | #unicode | |
154 | SRCS+= uconv.c \ | |
155 | u8_textprep.c | |
156 | ||
157 | #zcommon | |
158 | SRCS+= zfeature_common.c \ | |
159 | zfs_comutil.c \ | |
160 | zfs_deleg.c \ | |
161 | zfs_fletcher.c \ | |
162 | zfs_fletcher_avx512.c \ | |
163 | zfs_fletcher_intel.c \ | |
164 | zfs_fletcher_sse.c \ | |
165 | zfs_fletcher_superscalar.c \ | |
166 | zfs_fletcher_superscalar4.c \ | |
167 | zfs_namecheck.c \ | |
168 | zfs_prop.c \ | |
169 | zpool_prop.c \ | |
170 | zprop_common.c | |
171 | ||
172 | #zfs | |
fc551d7e BA |
173 | SRCS+= abd.c \ |
174 | aggsum.c \ | |
9f0a21e6 MM |
175 | arc.c \ |
176 | arc_os.c \ | |
177 | blkptr.c \ | |
178 | bplist.c \ | |
179 | bpobj.c \ | |
180 | cityhash.c \ | |
181 | dbuf.c \ | |
182 | dbuf_stats.c \ | |
183 | bptree.c \ | |
184 | bqueue.c \ | |
185 | dataset_kstats.c \ | |
186 | ddt.c \ | |
187 | ddt_zap.c \ | |
188 | dmu.c \ | |
189 | dmu_diff.c \ | |
190 | dmu_object.c \ | |
191 | dmu_objset.c \ | |
192 | dmu_recv.c \ | |
193 | dmu_redact.c \ | |
194 | dmu_send.c \ | |
195 | dmu_traverse.c \ | |
196 | dmu_tx.c \ | |
197 | dmu_zfetch.c \ | |
198 | dnode.c \ | |
199 | dnode_sync.c \ | |
200 | dsl_dataset.c \ | |
201 | dsl_deadlist.c \ | |
202 | dsl_deleg.c \ | |
203 | dsl_bookmark.c \ | |
204 | dsl_dir.c \ | |
205 | dsl_crypt.c \ | |
206 | dsl_destroy.c \ | |
207 | dsl_pool.c \ | |
208 | dsl_prop.c \ | |
209 | dsl_scan.c \ | |
210 | dsl_synctask.c \ | |
211 | dsl_userhold.c \ | |
212 | fm.c \ | |
213 | gzip.c \ | |
214 | lzjb.c \ | |
215 | lz4.c \ | |
216 | metaslab.c \ | |
217 | mmp.c \ | |
218 | multilist.c \ | |
219 | objlist.c \ | |
220 | pathname.c \ | |
221 | range_tree.c \ | |
222 | refcount.c \ | |
223 | rrwlock.c \ | |
224 | sa.c \ | |
225 | sha256.c \ | |
226 | skein_zfs.c \ | |
227 | spa.c \ | |
228 | spa_boot.c \ | |
229 | spa_checkpoint.c \ | |
230 | spa_config.c \ | |
231 | spa_errlog.c \ | |
232 | spa_history.c \ | |
233 | spa_log_spacemap.c \ | |
234 | spa_misc.c \ | |
235 | spa_stats.c \ | |
236 | space_map.c \ | |
237 | space_reftree.c \ | |
238 | txg.c \ | |
239 | uberblock.c \ | |
240 | unique.c \ | |
241 | vdev.c \ | |
242 | vdev_cache.c \ | |
243 | vdev_indirect.c \ | |
244 | vdev_indirect_births.c \ | |
245 | vdev_indirect_mapping.c \ | |
246 | vdev_initialize.c \ | |
247 | vdev_label.c \ | |
248 | vdev_mirror.c \ | |
249 | vdev_missing.c \ | |
250 | vdev_queue.c \ | |
251 | vdev_raidz.c \ | |
252 | vdev_raidz_math.c \ | |
253 | vdev_raidz_math_scalar.c \ | |
9a49d3f3 | 254 | vdev_rebuild.c \ |
9f0a21e6 MM |
255 | vdev_raidz_math_avx2.c \ |
256 | vdev_raidz_math_avx512bw.c \ | |
257 | vdev_raidz_math_avx512f.c \ | |
258 | vdev_raidz_math_sse2.c \ | |
259 | vdev_raidz_math_ssse3.c \ | |
260 | vdev_removal.c \ | |
261 | vdev_root.c \ | |
262 | vdev_trim.c \ | |
263 | zap.c \ | |
264 | zap_leaf.c \ | |
265 | zap_micro.c \ | |
266 | zcp.c \ | |
267 | zcp_get.c \ | |
268 | zcp_global.c \ | |
269 | zcp_iter.c \ | |
270 | zcp_set.c \ | |
271 | zcp_synctask.c \ | |
272 | zfeature.c \ | |
273 | zfs_byteswap.c \ | |
274 | zfs_debug.c \ | |
275 | zfs_file_os.c \ | |
276 | zfs_fm.c \ | |
277 | zfs_fuid.c \ | |
278 | zfs_fuid_os.c \ | |
279 | zfs_ioctl.c \ | |
280 | zfs_onexit.c \ | |
281 | zfs_quota.c \ | |
282 | zfs_ratelimit.c \ | |
283 | zfs_rlock.c \ | |
284 | zfs_sa.c \ | |
285 | zil.c \ | |
286 | zio.c \ | |
287 | zio_checksum.c \ | |
288 | zio_compress.c \ | |
289 | zio_inject.c \ | |
290 | zle.c \ | |
291 | zrlock.c \ | |
292 | zthr.c \ | |
293 | zvol.c | |
294 | ||
295 | beforeinstall: | |
296 | .if ${MK_DEBUG_FILES} != "no" | |
297 | mtree -eu \ | |
298 | -f /etc/mtree/BSD.debug.dist \ | |
299 | -p ${DESTDIR}/usr/lib | |
300 | .endif | |
301 | ||
302 | .include <bsd.kmod.mk> | |
303 | ||
304 | ||
305 | CFLAGS.gcc+= -Wno-pointer-to-int-cast | |
306 | ||
307 | CFLAGS.lapi.c= -Wno-cast-qual | |
ae7b167a | 308 | CFLAGS.lcompat.c= -Wno-cast-qual |
9f0a21e6 MM |
309 | CFLAGS.lobject.c= -Wno-cast-qual |
310 | CFLAGS.ltable.c= -Wno-cast-qual | |
311 | CFLAGS.lvm.c= -Wno-cast-qual | |
312 | CFLAGS.nvpair.c= -Wno-cast-qual | |
9f0a21e6 | 313 | CFLAGS.spl_string.c= -Wno-cast-qual |
ae7b167a | 314 | CFLAGS.spl_vm.c= -Wno-cast-qual |
9f0a21e6 MM |
315 | CFLAGS.spl_zlib.c= -Wno-cast-qual |
316 | CFLAGS.abd.c= -Wno-cast-qual | |
9f0a21e6 | 317 | CFLAGS.zfs_log.c= -Wno-cast-qual |
ae7b167a | 318 | CFLAGS.zfs_vnops.c= -Wno-pointer-arith |
9f0a21e6 MM |
319 | CFLAGS.u8_textprep.c= -Wno-cast-qual |
320 | CFLAGS.zfs_fletcher.c= -Wno-cast-qual -Wno-pointer-arith | |
321 | CFLAGS.zfs_fletcher_intel.c= -Wno-cast-qual -Wno-pointer-arith | |
322 | CFLAGS.zfs_fletcher_sse.c= -Wno-cast-qual -Wno-pointer-arith | |
323 | CFLAGS.zfs_fletcher_avx512.c= -Wno-cast-qual -Wno-pointer-arith | |
324 | CFLAGS.zprop_common.c= -Wno-cast-qual | |
ae7b167a AS |
325 | CFLAGS.ddt.c= -Wno-cast-qual |
326 | CFLAGS.dmu.c= -Wno-cast-qual | |
9f0a21e6 | 327 | CFLAGS.dmu_traverse.c= -Wno-cast-qual |
ae7b167a | 328 | CFLAGS.dsl_dir.c= -Wno-cast-qual |
9f0a21e6 | 329 | CFLAGS.dsl_deadlist.c= -Wno-cast-qual |
9f0a21e6 | 330 | CFLAGS.dsl_prop.c= -Wno-cast-qual |
9f0a21e6 | 331 | CFLAGS.fm.c= -Wno-cast-qual |
ae7b167a AS |
332 | CFLAGS.lz4.c= -Wno-cast-qual |
333 | CFLAGS.spa.c= -Wno-cast-qual | |
334 | CFLAGS.spa_misc.c= -Wno-cast-qual | |
7ddb753d | 335 | CFLAGS.sysctl_os.c= -include ../zfs_config.h |
9f0a21e6 MM |
336 | CFLAGS.vdev_raidz.c= -Wno-cast-qual |
337 | CFLAGS.vdev_raidz_math.c= -Wno-cast-qual | |
ae7b167a | 338 | CFLAGS.vdev_raidz_math_scalar.c= -Wno-cast-qual |
9f0a21e6 MM |
339 | CFLAGS.vdev_raidz_math_avx2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier |
340 | CFLAGS.vdev_raidz_math_avx512f.c= -Wno-cast-qual -Wno-duplicate-decl-specifier | |
341 | CFLAGS.vdev_raidz_math_sse2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier | |
342 | CFLAGS.zap_leaf.c= -Wno-cast-qual | |
ae7b167a | 343 | CFLAGS.zap_micro.c= -Wno-cast-qual |
9f0a21e6 | 344 | CFLAGS.zcp.c= -Wno-cast-qual |
9f0a21e6 | 345 | CFLAGS.zfs_fm.c= -Wno-cast-qual |
ae7b167a AS |
346 | CFLAGS.zfs_ioctl.c= -Wno-cast-qual |
347 | CFLAGS.zil.c= -Wno-cast-qual | |
348 | CFLAGS.zio.c= -Wno-cast-qual | |
349 | CFLAGS.zrlock.c= -Wno-cast-qual |