dmake: do not set MAKEFLAGS=k
[unleashed/tickless.git] / usr / src / uts / intel / Makefile.intel
blob64497f430e6ca974218e52df81bc63ca786810b1
1 # CDDL HEADER START
3 # The contents of this file are subject to the terms of the
4 # Common Development and Distribution License (the "License").
5 # You may not use this file except in compliance with the License.
7 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8 # or http://www.opensolaris.org/os/licensing.
9 # See the License for the specific language governing permissions
10 # and limitations under the License.
12 # When distributing Covered Code, include this CDDL HEADER in each
13 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14 # If applicable, add the following below this CDDL HEADER, with the
15 # fields enclosed by brackets "[]" replaced with your own identifying
16 # information: Portions Copyright [yyyy] [name of copyright owner]
18 # CDDL HEADER END
22 # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
23 # Copyright (c) 2013 Andrew Stormont.  All rights reserved.
24 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
25 # Copyright 2016 Joyent, Inc.
26 # Copyright 2016 Garrett D'Amore <garrett@damore.org>
27 # Copyright 2017 Nexenta Systems, Inc.
31 #       This makefile contains the common definitions for all intel
32 #       implementation architecture independent modules.
36 #       Machine type (implementation architecture):
38 PLATFORM         = i86pc
41 #       Everybody needs to know how to build modstubs.o and to locate unix.o.
42 #       Note that unix.o must currently be selected from among the possible
43 #       "implementation architectures". Note further, that unix.o is only
44 #       used as an optional error check for undefines so (theoretically)
45 #       any "implementation architectures" could be used. We choose i86pc
46 #       because it is the reference port.
48 UNIX_DIR         = $(UTSBASE)/i86pc/unix
49 GENLIB_DIR       = $(UTSBASE)/intel/genunix
50 IPDRV_DIR        = $(UTSBASE)/intel/ip
51 MODSTUBS_DIR     = $(UNIX_DIR)
52 DSF_DIR          = $(UTSBASE)/$(PLATFORM)/genassym
54 UNIX_O           = $(UNIX_DIR)/$(OBJS_DIR)/unix.o
55 GENLIB           = $(GENLIB_DIR)/$(OBJS_DIR)/libgenunix.so
56 MODSTUBS_O       = $(MODSTUBS_DIR)/$(OBJS_DIR)/modstubs.o
59 #       Include the makefiles which define build rule templates, the
60 #       collection of files per module, and a few specific flags. Note
61 #       that order is significant, just as with an include path. The
62 #       first build rule template which matches the files name will be
63 #       used. By including these in order from most machine dependent
64 #       to most machine independent, we allow a machine dependent file
65 #       to be used in preference over a machine independent version
66 #       (Such as a machine specific optimization, which preserves the
67 #       interfaces.)
69 include $(UTSBASE)/intel/Makefile.files
70 include $(UTSBASE)/common/Makefile.files
73 # ----- TRANSITIONAL SECTION --------------------------------------------------
77 #       Not everything which *should* be a module is a module yet. The
78 #       following is a list of such objects which are currently part of
79 #       genunix but which might someday become kmods.  This must be
80 #       defined before we include Makefile.uts, or else genunix's build
81 #       won't be as parallel as we might like.
83 NOT_YET_KMODS    = $(OLDPTY_OBJS) $(PTY_OBJS) $(VCONS_CONF_OBJS) $(MOD_OBJS)
86 # ----- END OF TRANSITIONAL SECTION -------------------------------------------
88 #       Include machine independent rules. Note that this does not imply
89 #       that the resulting module from rules in Makefile.uts is machine
90 #       independent. Only that the build rules are machine independent.
92 include $(UTSBASE)/Makefile.uts
95 #       The following must be defined for all implementations:
97 MODSTUBS                = $(UTSBASE)/intel/ia32/ml/modstubs.s
100 #       Define supported builds
102 DEF_BUILDS              = $(DEF_BUILDS64)
103 ALL_BUILDS              = $(ALL_BUILDS64)
106 #       kernel-specific optimizations; override default in Makefile.master
109 CFLAGS_XARCH_32         = $(i386_CFLAGS)
110 CFLAGS_XARCH_64         = $(amd64_CFLAGS)
111 CFLAGS_XARCH            = $(CFLAGS_XARCH_$(CLASS))
113 COPTFLAG_32             = $(COPTFLAG)
114 COPTFLAG_64             = $(COPTFLAG64)
115 COPTIMIZE               = $(COPTFLAG_$(CLASS))
117 CFLAGS                  = $(CFLAGS_XARCH)
118 CFLAGS                  += $(COPTIMIZE)
119 CFLAGS                  += -D_ASM_INLINES
120 CFLAGS                  += $(CFLAGS_uts)
121 CFLAGS                  += -fstack-protector
123 ASFLAGS_XARCH_32        = $(i386_ASFLAGS)
124 ASFLAGS_XARCH_64        = $(amd64_ASFLAGS)
125 ASFLAGS_XARCH           = $(ASFLAGS_XARCH_$(CLASS))
127 ASFLAGS                 += $(ASFLAGS_XARCH)
130 #       Define the base directory for installation.
132 BASE_INS_DIR    = $(ROOT)
135 #       Debugging level
137 #       Special knowledge of which special debugging options affect which
138 #       file is used to optimize the build if these flags are changed.
140 DEBUG_DEFS_OBJ32        =
141 DEBUG_DEFS_DBG32        = -DDEBUG
142 DEBUG_DEFS_OBJ64        =
143 DEBUG_DEFS_DBG64        = -DDEBUG
144 DEBUG_DEFS              = $(DEBUG_DEFS_$(BUILD_TYPE))
146 DEBUG_COND_OBJ32        = $(POUND_SIGN)
147 DEBUG_COND_DBG32        =
148 DEBUG_COND_OBJ64        = $(POUND_SIGN)
149 DEBUG_COND_DBG64        =
150 IF_DEBUG_OBJ            = $(DEBUG_COND_$(BUILD_TYPE))$(OBJS_DIR)/
152 $(IF_DEBUG_OBJ)syscall.o        :=      DEBUG_DEFS      += -DSYSCALLTRACE
153 $(IF_DEBUG_OBJ)clock.o          :=      DEBUG_DEFS      += -DKSLICE=1
156 #       Collect the preprocessor definitions to be associated with *all*
157 #       files.
159 ALL_DEFS         = $(DEBUG_DEFS) $(OPTION_DEFS)
162 #       The kernels modules which are "implementation architecture"
163 #       specific for this machine are enumerated below. Note that most
164 #       of these modules must exist (in one form or another) for each
165 #       architecture.
167 #       Common Drivers (usually pseudo drivers) (/kernel/drv)
168 #       DRV_KMODS are built both 32-bit and 64-bit
169 #       DRV_KMODS_32 are built only 32-bit
170 #       DRV_KMODS_64 are built only 64-bit
172 DRV_KMODS       += aac
173 DRV_KMODS       += aggr
174 DRV_KMODS       += ahci
175 DRV_KMODS       += amd64_gart
176 DRV_KMODS       += amr
177 DRV_KMODS       += agpgart
178 DRV_KMODS       += srn
179 DRV_KMODS       += agptarget
180 DRV_KMODS       += arp
181 DRV_KMODS       += asy
182 DRV_KMODS       += ata
183 DRV_KMODS       += audio
184 DRV_KMODS       += audio1575
185 DRV_KMODS       += audio810
186 DRV_KMODS       += audiocmi
187 DRV_KMODS       += audiocmihd
188 DRV_KMODS       += audioemu10k
189 DRV_KMODS       += audioens
190 DRV_KMODS       += audiohd
191 DRV_KMODS       += audioixp
192 DRV_KMODS       += audiols
193 DRV_KMODS       += audiop16x
194 DRV_KMODS       += audiopci
195 DRV_KMODS       += audiosolo
196 DRV_KMODS       += audiots
197 DRV_KMODS       += audiovia823x
198 DRV_KMODS_32    += audiovia97
199 DRV_KMODS       += bl 
200 DRV_KMODS       += blkdev
201 DRV_KMODS       += bofi
202 DRV_KMODS       += bpf
203 DRV_KMODS       += bridge
204 DRV_KMODS       += bscbus
205 DRV_KMODS       += bscv
206 DRV_KMODS       += cxgbe
207 DRV_KMODS       += ntxn
208 DRV_KMODS       += clone
209 DRV_KMODS       += cmdk
210 DRV_KMODS       += cn
211 DRV_KMODS       += conskbd
212 DRV_KMODS       += consms
213 DRV_KMODS       += cpqary3
214 DRV_KMODS       += cpuid
215 DRV_KMODS       += cpunex
216 DRV_KMODS       += crypto
217 DRV_KMODS       += cryptoadm
218 DRV_KMODS       += dca
219 DRV_KMODS       += devinfo
220 DRV_KMODS       += dld
221 DRV_KMODS       += dlpistub
222 DRV_KMODS_32    += dnet
223 DRV_KMODS       += dump
224 DRV_KMODS       += ecpp
225 DRV_KMODS       += emlxs
226 DRV_KMODS       += eventfd
227 DRV_KMODS       += fd
228 DRV_KMODS       += fdc
229 DRV_KMODS       += fm
230 DRV_KMODS       += fssnap
231 DRV_KMODS       += i8042
232 DRV_KMODS       += i915
233 DRV_KMODS       += icmp
234 DRV_KMODS       += icmp6
235 DRV_KMODS       += intel_nb5000
236 DRV_KMODS       += intel_nhm
237 DRV_KMODS       += ip
238 DRV_KMODS       += ip6
239 DRV_KMODS       += ipd
240 DRV_KMODS       += ipf
241 DRV_KMODS       += ipnet
242 DRV_KMODS       += ippctl
243 DRV_KMODS       += ipsecah
244 DRV_KMODS       += ipsecesp
245 DRV_KMODS       += ipw
246 DRV_KMODS       += iwscn
247 DRV_KMODS       += kb8042
248 DRV_KMODS       += keysock
249 DRV_KMODS       += kstat
250 DRV_KMODS       += ksyms
251 DRV_KMODS       += kmdb
252 DRV_KMODS       += llc1
253 DRV_KMODS       += log
254 DRV_KMODS       += logindmux
255 DRV_KMODS       += mega_sas
256 DRV_KMODS       += mc-amd
257 DRV_KMODS       += mm
258 DRV_KMODS       += mouse8042
259 DRV_KMODS       += mpt_sas
260 DRV_KMODS       += mr_sas
261 DRV_KMODS       += nsmb
262 DRV_KMODS       += nulldriver
263 DRV_KMODS       += nv_sata
264 DRV_KMODS       += nvme
265 DRV_KMODS       += oce
266 DRV_KMODS       += openeepr
267 DRV_KMODS       += pci_pci
268 DRV_KMODS       += pcieb
269 DRV_KMODS       += pit_beep
270 DRV_KMODS       += pm
271 DRV_KMODS       += poll
272 DRV_KMODS       += pool
273 DRV_KMODS       += power
274 DRV_KMODS       += pseudo
275 DRV_KMODS       += ptc
276 DRV_KMODS       += ptm
277 DRV_KMODS       += pts
278 DRV_KMODS       += ptsl
279 DRV_KMODS       += qlge
280 DRV_KMODS       += radeon
281 DRV_KMODS       += rds
282 DRV_KMODS       += rdsv3
283 DRV_KMODS       += rpcib
284 DRV_KMODS       += rsm
285 DRV_KMODS       += rts
286 DRV_KMODS       += sad
287 DRV_KMODS       += sdhost
288 DRV_KMODS       += sgen
289 DRV_KMODS       += si3124
290 DRV_KMODS       += signalfd
291 DRV_KMODS       += smbios
292 DRV_KMODS       += skd
293 DRV_KMODS       += softmac
294 DRV_KMODS       += spdsock
295 DRV_KMODS       += smbsrv
296 DRV_KMODS       += smp
297 DRV_KMODS       += sppp
298 DRV_KMODS       += sppptun
299 DRV_KMODS       += st
300 DRV_KMODS       += sy
301 DRV_KMODS       += sysevent
302 DRV_KMODS       += sysmsg
303 DRV_KMODS       += tcp
304 DRV_KMODS       += tcp6
305 DRV_KMODS       += timerfd
306 DRV_KMODS       += tl
307 DRV_KMODS       += tnf
308 DRV_KMODS       += trill
309 DRV_KMODS       += udp
310 DRV_KMODS       += udp6
311 DRV_KMODS       += ucode
312 DRV_KMODS       += vgatext
313 DRV_KMODS       += vnic
314 DRV_KMODS       += vscan
315 DRV_KMODS       += wc
316 DRV_KMODS       += winlock
317 DRV_KMODS       += xge
318 DRV_KMODS       += zcons
319 DRV_KMODS       += simnet
320 DRV_KMODS       += fcoe
321 DRV_KMODS       += fcoei
322 DRV_KMODS       += iptun
323 DRV_KMODS       += vmxnet3s
324 DRV_KMODS       += pvscsi
327 # Common code drivers
330 DRV_KMODS       += afe
331 DRV_KMODS       += atge
332 DRV_KMODS       += bfe
333 DRV_KMODS       += dmfe
334 DRV_KMODS       += efe
335 DRV_KMODS       += elxl
336 DRV_KMODS       += hme
337 DRV_KMODS       += mxfe
338 DRV_KMODS       += pcn
339 DRV_KMODS       += rge
340 DRV_KMODS       += rtls
341 DRV_KMODS       += amd8111s
342 DRV_KMODS       += ipmi
343 DRV_KMODS       += iprb
344 DRV_KMODS       += vr
347 # Virtio drivers
350 # Virtio block driver
351 DRV_KMODS       += vioblk
354 #       DTrace and DTrace Providers
356 DRV_KMODS       += dtrace
357 DRV_KMODS       += fbt
358 DRV_KMODS       += lockstat
359 DRV_KMODS       += profile
360 DRV_KMODS       += sdt
361 DRV_KMODS       += systrace
362 DRV_KMODS       += fasttrap
363 DRV_KMODS       += dcpc
366 #       I/O framework test drivers
368 DRV_KMODS       += pshot
369 DRV_KMODS       += gen_drv
370 DRV_KMODS       += tvhci tphci tclient
371 DRV_KMODS       += emul64
374 #       Machine Specific Driver Modules (/kernel/drv):
376 DRV_KMODS       += options
377 DRV_KMODS       += scsi_vhci
378 DRV_KMODS       += pmcs
379 DRV_KMODS       += pmcs8001fw
380 DRV_KMODS       += arcmsr
381 DRV_KMODS       += fcp
382 DRV_KMODS       += fcip
383 DRV_KMODS       += fcsm
384 DRV_KMODS       += fp
385 DRV_KMODS       += qlc
386 DRV_KMODS       += iscsi
389 #       SCSI Enclosure Services driver
391 DRV_KMODS       += ses
394 #       USB specific modules
396 DRV_KMODS       += hid
397 DRV_KMODS       += hubd
398 DRV_KMODS       += uhci
399 DRV_KMODS       += ehci
400 DRV_KMODS       += ohci
401 DRV_KMODS       += usb_mid
402 DRV_KMODS       += usb_ia
403 DRV_KMODS       += scsa2usb
404 DRV_KMODS       += usbprn
405 DRV_KMODS       += ugen
406 DRV_KMODS       += usbser
407 DRV_KMODS       += usbsacm
408 DRV_KMODS       += usbsksp
409 DRV_KMODS       += usbsprl
410 DRV_KMODS       += usb_ac
411 DRV_KMODS       += usb_as
412 DRV_KMODS       += usbskel
413 DRV_KMODS       += usbvc
414 DRV_KMODS       += usbftdi
415 DRV_KMODS       += usbecm
416 DRV_KMODS       += xhci
419 #       USBGEM modules
421 DRV_KMODS       += usbgem
422 DRV_KMODS       += axf
423 DRV_KMODS       += udmf 
424 DRV_KMODS       += upf
425 DRV_KMODS       += urf 
428 #       1394 modules
430 MISC_KMODS      += s1394 sbp2
431 DRV_KMODS       += hci1394 scsa1394
432 DRV_KMODS       += av1394
433 DRV_KMODS       += dcam1394
436 #       InfiniBand pseudo drivers
438 DRV_KMODS       += ib ibp eibnx eoib rdsib sdp iser daplt hermon tavor sol_ucma sol_uverbs
439 DRV_KMODS       += sol_umad 
442 #       Brand modules
444 BRAND_KMODS     += sn1_brand
447 #       Exec Class Modules (/kernel/exec):
449 EXEC_KMODS      += elfexec intpexec shbinexec javaexec
452 #       File System Modules (/kernel/fs):
454 FS_KMODS        += zut
455 FS_KMODS        += procfs sharefs
456 FS_KMODS        += smbfs
459 #       Streams Modules (/kernel/strmod):
461 STRMOD_KMODS    += bufmod connld dedump ldterm pckt pfmod pipemod
462 STRMOD_KMODS    += ptem redirmod rpcmod rlmod telmod timod
463 STRMOD_KMODS    += spppasyn spppcomp
464 STRMOD_KMODS    += tirdwr ttcompat
465 STRMOD_KMODS    += usbkbm
466 STRMOD_KMODS    += usbms
467 STRMOD_KMODS    += usbwcm
468 STRMOD_KMODS    += usb_ah
469 STRMOD_KMODS    += drcompat
470 STRMOD_KMODS    += cryptmod
471 STRMOD_KMODS    += vuid2ps2
472 STRMOD_KMODS    += vuid3ps2
473 STRMOD_KMODS    += vuidm3p
474 STRMOD_KMODS    += vuidm4p
475 STRMOD_KMODS    += vuidm5p
478 #       'System' Modules (/kernel/sys):
480 SYS_KMODS       += c2audit
481 SYS_KMODS       += exacctsys
482 SYS_KMODS       += inst_sync
483 SYS_KMODS       += kaio
484 SYS_KMODS       += msgsys
485 SYS_KMODS       += pipe
486 SYS_KMODS       += pset
487 SYS_KMODS       += semsys
488 SYS_KMODS       += shmsys
489 SYS_KMODS       += sysacct
490 SYS_KMODS       += acctctl
493 #       'Misc' Modules (/kernel/misc)
494 #       MISC_KMODS are built both 32-bit and 64-bit
495 #       MISC_KMODS_32 are built only 32-bit
496 #       MISC_KMODS_64 are built only 64-bit
498 MISC_KMODS      += ac97
499 MISC_KMODS      += acpica
500 MISC_KMODS      += agpmaster
501 MISC_KMODS      += bignum
502 MISC_KMODS      += bootdev
503 MISC_KMODS      += busra
504 MISC_KMODS      += cmlb
505 MISC_KMODS      += consconfig
506 MISC_KMODS      += dadk
507 MISC_KMODS      += dcopy
508 MISC_KMODS      += dls
509 MISC_KMODS      += drm
510 MISC_KMODS      += fssnap_if
511 MISC_KMODS      += gda
512 MISC_KMODS      += gld
513 MISC_KMODS      += hidparser
514 MISC_KMODS      += hook
515 MISC_KMODS      += hpcsvc
516 MISC_KMODS      += ibcm
517 MISC_KMODS      += ibdm
518 MISC_KMODS      += ibdma
519 MISC_KMODS      += ibmf
520 MISC_KMODS      += ibtl
521 MISC_KMODS      += idm
522 MISC_KMODS      += idmap
523 MISC_KMODS      += iommulib
524 MISC_KMODS      += ipc
525 MISC_KMODS      += kbtrans
526 MISC_KMODS      += kcf
527 MISC_KMODS      += kgssapi
528 MISC_KMODS      += kmech_dummy
529 MISC_KMODS      += kmech_krb5
530 MISC_KMODS      += ksocket
531 MISC_KMODS      += mac
532 MISC_KMODS      += mii
533 MISC_KMODS      += mwlfw
534 MISC_KMODS      += nfs_dlboot
535 MISC_KMODS      += nfssrv
536 MISC_KMODS      += neti
537 MISC_KMODS      += pci_autoconfig
538 MISC_KMODS      += pcicfg
539 MISC_KMODS      += pcihp
540 MISC_KMODS      += rpcsec
541 MISC_KMODS      += rpcsec_gss
542 MISC_KMODS      += rsmops
543 MISC_KMODS      += sata
544 MISC_KMODS      += scsi
545 MISC_KMODS      += sda
546 MISC_KMODS      += sol_ofs
547 MISC_KMODS      += strategy
548 MISC_KMODS      += strplumb
549 MISC_KMODS      += tem
550 MISC_KMODS      += tlimod
551 MISC_KMODS      += usba usba10 usbs49_fw
552 MISC_KMODS      += scsi_vhci_f_sym_hds
553 MISC_KMODS      += scsi_vhci_f_sym
554 MISC_KMODS      += scsi_vhci_f_tpgs
555 MISC_KMODS      += scsi_vhci_f_asym_sun
556 MISC_KMODS      += scsi_vhci_f_tape
557 MISC_KMODS      += scsi_vhci_f_tpgs_tape
558 MISC_KMODS      += fctl
559 MISC_KMODS      += emlxs_fw
560 MISC_KMODS      += qlc_fw_2200
561 MISC_KMODS      += qlc_fw_2300
562 MISC_KMODS      += qlc_fw_2400
563 MISC_KMODS      += qlc_fw_2500
564 MISC_KMODS      += qlc_fw_6322
565 MISC_KMODS      += qlc_fw_8100
566 MISC_KMODS      += uathfw
568 MISC_KMODS      += klmmod klmops
571 #       Software Cryptographic Providers (/kernel/crypto):
573 CRYPTO_KMODS    += aes
574 CRYPTO_KMODS    += arcfour
575 CRYPTO_KMODS    += blowfish
576 CRYPTO_KMODS    += des
577 CRYPTO_KMODS    += ecc
578 CRYPTO_KMODS    += edonr
579 CRYPTO_KMODS    += md4
580 CRYPTO_KMODS    += md5
581 CRYPTO_KMODS    += rsa
582 CRYPTO_KMODS    += sha1
583 CRYPTO_KMODS    += sha2
584 CRYPTO_KMODS    += skein
585 CRYPTO_KMODS    += swrand
588 #       IP Policy Modules (/kernel/ipp)
590 IPP_KMODS       += dlcosmk
591 IPP_KMODS       += flowacct
592 IPP_KMODS       += ipgpc
593 IPP_KMODS       += dscpmk
594 IPP_KMODS       += tokenmt
595 IPP_KMODS       += tswtclmt
598 #       generic-unix module (/kernel/genunix):
600 GENUNIX_KMODS   += genunix
603 #       Modules eXcluded from the product:
607 #       'Dacf' Modules (/kernel/dacf):
611 #       Performance Counter BackEnd modules (/usr/kernel/pcbe)
613 PCBE_KMODS      += p123_pcbe p4_pcbe opteron_pcbe core_pcbe
616 #       MAC-Type Plugin Modules (/kernel/mac)
618 MAC_KMODS       += mac_6to4
619 MAC_KMODS       += mac_ether
620 MAC_KMODS       += mac_ipv4
621 MAC_KMODS       += mac_ipv6
622 MAC_KMODS       += mac_wifi
623 MAC_KMODS       += mac_ib
626 #       kiconv modules (/kernel/kiconv):
628 KICONV_KMODS    += kiconv_emea kiconv_ja kiconv_ko kiconv_sc kiconv_tc
631 #       'Dacf' Modules (/kernel/dacf):
633 DACF_KMODS      += net_dacf