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