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