Print this page
4266 remove Makefile*.shared nonsense in uts
*** 1,5 ****
--- 1,6 ----
+ #
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
*** 16,33 ****
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
! # Copyright 2010 Sun Microsystems, Inc. All rights reserved.
! # Use is subject to license terms.
#
! UTSTREE=$(UTSBASE)
! include $(UTSBASE)/sparc/Makefile.sparc.shared
#
# Ensure that the variable member of the cpu_t (cpu_m) is defined
# for the lint builds so as not to cause lint errors during the
# global cross check.
--- 17,499 ----
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
+ # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ # Copyright (c) 2013 Andrew Stormont. All rights reserved.
+
+
+ #
+ # This makefile contains the common definitions for all sparc
+ # implementation architecture independent modules.
+ #
+
+ #
+ # Define supported builds
+ #
+ DEF_BUILDS = $(DEF_BUILDS64)
+ ALL_BUILDS = $(ALL_BUILDS64)
+
+ #
+ # Everybody needs to know how to build modstubs.o and to locate unix.o.
+ # Note that unix.o must currently be selected from among the possible
+ # "implementation architectures". Note further, that unix.o is only
+ # used as an optional error check for undefines so (theoretically)
+ # any "implementation architectures" could be used. We choose sun4u
+ # because it is the reference port.
+ #
+ UNIX_DIR = $(UTSBASE)/sun4u/unix
+ GENLIB_DIR = $(UTSBASE)/sun4u/genunix
+ IPDRV_DIR = $(UTSBASE)/sparc/ip
+ MODSTUBS_DIR = $(UNIX_DIR)
+ DSF_DIR = $(UNIX_DIR)
+ LINTS_DIR = $(OBJS_DIR)
+ LINT_LIB_DIR = $(UTSBASE)/sparc/lint-libs/$(OBJS_DIR)
+
+ UNIX_O = $(UNIX_DIR)/$(OBJS_DIR)/unix.o
+ MODSTUBS_O = $(MODSTUBS_DIR)/$(OBJS_DIR)/modstubs.o
+ GENLIB = $(UTSBASE)/sun4u/lint-libs/$(OBJS_DIR)/libgenunix.so
+
+ LINT_LIB_32 = $(UTSBASE)/sun4u/lint-libs/$(OBJS_DIR)/llib-lunix.ln
+ GEN_LINT_LIB_32 = $(UTSBASE)/sun4u/lint-libs/$(OBJS_DIR)/llib-lgenunix.ln
+
+ LINT_LIB_64 = $(UTSBASE)/sun4u/lint-libs/$(OBJS_DIR)/llib-lunix.ln
+ GEN_LINT_LIB_64 = $(UTSBASE)/sun4u/lint-libs/$(OBJS_DIR)/llib-lgenunix.ln
+
+ LINT_LIB = $(LINT_LIB_$(CLASS))
+ GEN_LINT_LIB = $(GEN_LINT_LIB_$(CLASS))
+
+ LINT32_DIRS = $(LINT32_BUILDS:%=$(UTSBASE)/sparc/lint-libs/%)
+ LINT32_FILES = $(LINT32_DIRS:%=%/llib-l$(MODULE).ln)
+
+ LINT64_DIRS = $(LINT64_BUILDS:%=$(UTSBASE)/sparc/lint-libs/%)
+ LINT64_FILES = $(LINT64_DIRS:%=%/llib-l$(MODULE).ln)
+
+ #
+ # Include the makefiles which define build rule templates, the
+ # collection of files per module, and a few specific flags. Note
+ # that order is significant, just as with an include path. The
+ # first build rule template which matches the files name will be
+ # used. By including these in order from most machine dependent
+ # to most machine independent, we allow a machine dependent file
+ # to be used in preference over a machine independent version
+ # (Such as a machine specific optimization, which preserves the
+ # interfaces.)
+ #
+ include $(UTSBASE)/sparc/Makefile.files
+ include $(UTSBASE)/sparc/v9/Makefile.files
+ include $(UTSBASE)/sun/Makefile.files
+ include $(UTSBASE)/common/Makefile.files
+
+ #
+ # ----- TRANSITIONAL SECTION --------------------------------------------------
+ #
+
+ #
+ # Not everything which *should* be a module is a module yet. The
+ # following is a list of such objects which are currently part of
+ # genunix but which might someday become kmods. This must be
+ # defined before we include Makefile.uts, or else genunix's build
+ # won't be as parallel as we might like.
+ #
+ NOT_YET_KMODS = $(OLDPTY_OBJS) $(PTY_OBJS) $(VCONS_CONF_OBJS) $(MOD_OBJS)
+
+ #
+ # ----- END OF TRANSITIONAL SECTION -------------------------------------------
+ #
+ # Include machine independent rules. Note that this does not imply
+ # that the resulting module from rules in Makefile.uts is machine
+ # independent. Only that the build rules are machine independent.
+ #
+ include $(UTSBASE)/Makefile.uts
+
+ #
+ # machine specific optimization, override default in Makefile.master
+ #
+ XARCH_32 = -xarch=v8
+ XARCH_64 = -m64
+ XARCH = $(XARCH_$(CLASS))
+
+ COPTIMIZE_32 = -xO3
+ COPTIMIZE_64 = -xO3
+ COPTIMIZE = $(COPTIMIZE_$(CLASS))
+
+ CCMODE = -Xa
+
+ CFLAGS_32 = -xcg92
+ CFLAGS_64 = -xchip=ultra $(CCABS32) $(CCREGSYM)
+ CFLAGS = $(CFLAGS_$(CLASS))
+
+ CFLAGS += $(XARCH)
+ CFLAGS += $(COPTIMIZE)
+ CFLAGS += $(EXTRA_CFLAGS)
+ CFLAGS += $(XAOPT)
+ CFLAGS += $(INLINES) -D_ASM_INLINES
+ CFLAGS += $(CCMODE)
+ CFLAGS += $(SPACEFLAG)
+ CFLAGS += $(CERRWARN)
+ CFLAGS += $(CTF_FLAGS_$(CLASS))
+ CFLAGS += $(C99MODE)
+ CFLAGS += $(CCUNBOUND)
+ CFLAGS += $(CCSTATICSYM)
+ CFLAGS += $(CC32BITCALLERS)
+ CFLAGS += $(CCNOAUTOINLINE)
+ CFLAGS += $(IROPTFLAG)
+ CFLAGS += $(CGLOBALSTATIC)
+ CFLAGS += -xregs=no%float
+ CFLAGS += -xstrconst
+ CFLAGS += $(CSOURCEDEBUGFLAGS)
+ CFLAGS += $(CUSERFLAGS)
+
+ ASFLAGS += $(XARCH)
+
+ LINT_DEFS_32 =
+ LINT_DEFS_64 = -m64
+ LINT_DEFS += $(LINT_DEFS_$(CLASS))
+
+ #
+ # The following must be defined for all implementations:
+ #
+ # MODSTUBS: Module stubs source file.
+ #
+ MODSTUBS = $(UTSBASE)/sparc/ml/modstubs.s
+
+ #
+ # Define the actual specific platforms - obviously none.
+ #
+ MACHINE_DEFS =
+
+ #
+ # Debugging level
+ #
+ # Special knowledge of which special debugging options effect which
+ # file is used to optimize the build if these flags are changed.
#
! # XXX: The above could possibly be done for more flags and files, but
! # is left as an experiment to the interested reader. Be forewarned,
! # that excessive use could lead to maintenance difficulties.
#
+ DEBUG_DEFS_OBJ32 =
+ DEBUG_DEFS_DBG32 = -DDEBUG
+ DEBUG_DEFS_OBJ64 =
+ DEBUG_DEFS_DBG64 = -DDEBUG
+ DEBUG_DEFS = $(DEBUG_DEFS_$(BUILD_TYPE))
! DEBUG_COND_OBJ32 = $(POUND_SIGN)
! DEBUG_COND_DBG32 =
! DEBUG_COND_OBJ64 = $(POUND_SIGN)
! DEBUG_COND_DBG64 =
! IF_DEBUG_OBJ = $(DEBUG_COND_$(BUILD_TYPE))$(OBJS_DIR)/
! $(IF_DEBUG_OBJ)syscall.o := DEBUG_DEFS += -DSYSCALLTRACE
! $(IF_DEBUG_OBJ)clock.o := DEBUG_DEFS += -DKSLICE=1
!
! # Comment these out if you don't want dispatcher lock statistics.
!
! # $(IF_DEBUG_OBJ)disp_lock.o := DEBUG_DEFS += -DDISP_LOCK_STATS
!
! #
! # Collect the preprocessor definitions to be associated with *all*
! # files.
! #
! ALL_DEFS = $(MACHINE_DEFS) $(DEBUG_DEFS) $(OPTION_DEFS)
! #
! #
! # The kernels modules which are "implementation architecture"
! # specific for this machine are enumerated below. Note that most
! # of these modules must exist (in one form or another) for each
! # architecture.
! #
! # Common Drivers (usually pseudo drivers) (/kernel/drv):
! #
! DRV_KMODS += aggr arp audio bl blkdev bofi clone cn conskbd consms cpuid
! DRV_KMODS += crypto cryptoadm devinfo dump
! DRV_KMODS += dtrace fasttrap fbt lockstat profile sdt systrace dcpc
! DRV_KMODS += fssnap icmp icmp6 ip ip6 ipnet ipsecah
! DRV_KMODS += ipsecesp iptun iwscn keysock kmdb kstat ksyms llc1
! DRV_KMODS += lofi
! DRV_KMODS += log logindmux kssl mm nca physmem pm poll pool
! DRV_KMODS += pseudo ptc ptm pts ptsl ramdisk random rsm rts sad
! DRV_KMODS += simnet softmac sppp sppptun sy sysevent sysmsg
! DRV_KMODS += spdsock
! DRV_KMODS += tcp tcp6 tl tnf ttymux udp udp6 wc winlock zcons
! DRV_KMODS += ippctl
! DRV_KMODS += dld
! DRV_KMODS += ipf
! DRV_KMODS += rpcib
! DRV_KMODS += dlpistub
! DRV_KMODS += vnic
! DRV_KMODS += xge
! DRV_KMODS += rds
! DRV_KMODS += rdsv3
! DRV_KMODS += chxge
! DRV_KMODS += smbsrv
! DRV_KMODS += vscan
! DRV_KMODS += nsmb
! DRV_KMODS += fm
! DRV_KMODS += nulldriver
! DRV_KMODS += bridge trill
! DRV_KMODS += bpf
! DRV_KMODS += dca
!
! #
! # Hardware Drivers in common space
! #
!
! DRV_KMODS += afe
! DRV_KMODS += audio1575
! DRV_KMODS += audioens
! DRV_KMODS += audiols
! DRV_KMODS += audiop16x
! DRV_KMODS += audiopci
! DRV_KMODS += audiots
! DRV_KMODS += e1000g
! DRV_KMODS += efe
! DRV_KMODS += hxge
! DRV_KMODS += mxfe
! DRV_KMODS += rge
! DRV_KMODS += rtls
! DRV_KMODS += sfe
! DRV_KMODS += aac
! DRV_KMODS += igb
! DRV_KMODS += ixgbe
! DRV_KMODS += vr
! DRV_KMODS += mr_sas
! DRV_KMODS += yge
!
! #
! # Machine Specific Driver Modules (/kernel/drv):
! #
! DRV_KMODS += audiocs
! DRV_KMODS += bge dmfe eri fas hme qfe
! DRV_KMODS += openeepr options sd ses st
! DRV_KMODS += ssd
! DRV_KMODS += ecpp
! DRV_KMODS += hid hubd ehci ohci uhci usb_mid usb_ia scsa2usb usbprn ugen
! DRV_KMODS += usbser usbsacm usbsksp usbsprl
! DRV_KMODS += usb_as usb_ac
! DRV_KMODS += usbskel
! DRV_KMODS += usbvc
! DRV_KMODS += usbftdi
! DRV_KMODS += wusb_df hwahc hwarc wusb_ca
! DRV_KMODS += usbecm
! DRV_KMODS += hci1394 av1394 scsa1394 dcam1394
! DRV_KMODS += sbp2
! DRV_KMODS += ib ibp eibnx eoib rdsib sdp iser daplt hermon tavor sol_ucma sol_uverbs
! DRV_KMODS += sol_umad
! DRV_KMODS += pci_pci pcieb pcieb_bcm
! DRV_KMODS += i8042 kb8042 mouse8042
! DRV_KMODS += fcode
! DRV_KMODS += mpt_sas
! DRV_KMODS += socal
! DRV_KMODS += sgen
! DRV_KMODS += myri10ge
! DRV_KMODS += smp
! DRV_KMODS += dad
! DRV_KMODS += scsi_vhci
! DRV_KMODS += fcp
! DRV_KMODS += fcip
! DRV_KMODS += fcsm
! DRV_KMODS += fp
! DRV_KMODS += qlc
! DRV_KMODS += qlge
! DRV_KMODS += stmf
! DRV_KMODS += stmf_sbd
! DRV_KMODS += fct
! DRV_KMODS += fcoe
! DRV_KMODS += fcoet
! DRV_KMODS += fcoei
! DRV_KMODS += qlt
! DRV_KMODS += iscsit
! DRV_KMODS += pppt
! DRV_KMODS += ncall nsctl sdbc nskern sv
! DRV_KMODS += ii rdc rdcsrv rdcstub
! DRV_KMODS += iscsi
! DRV_KMODS += emlxs
! DRV_KMODS += oce
! DRV_KMODS += srpt
! DRV_KMODS += pmcs
! DRV_KMODS += pmcs8001fw
!
! #
! # I/O framework test drivers
! #
! DRV_KMODS += pshot
! DRV_KMODS += gen_drv
! DRV_KMODS += tvhci tphci tclient
! DRV_KMODS += emul64
!
! #
! # PCMCIA specific module(s)
! #
! DRV_KMODS += pcs
! MISC_KMODS += busra cardbus dada pcmcia
! DRV_KMODS += pcic
!
! # Add lvm
! #
! DRV_KMODS += md
! MISC_KMODS += md_mirror md_stripe md_hotspares md_raid md_trans md_notify
! MISC_KMODS += md_sp
!
! #
! # Exec Class Modules (/kernel/exec):
! #
! EXEC_KMODS += aoutexec elfexec intpexec shbinexec javaexec
!
! #
! # Scheduling Class Modules (/kernel/sched):
! #
! SCHED_KMODS += RT TS RT_DPTBL TS_DPTBL IA FSS FX FX_DPTBL SDC
!
! #
! # File System Modules (/kernel/fs):
! #
! FS_KMODS += dev devfs fdfs fifofs hsfs lofs namefs nfs pcfs tmpfs zfs
! FS_KMODS += zut specfs udfs ufs autofs cachefs procfs sockfs mntfs
! FS_KMODS += ctfs objfs sharefs dcfs smbfs
!
! #
! # Streams Modules (/kernel/strmod):
! #
! STRMOD_KMODS += bufmod connld dedump ldterm ms pckt pfmod
! STRMOD_KMODS += pipemod ptem redirmod rpcmod rlmod telmod timod
! STRMOD_KMODS += spppasyn spppcomp
! STRMOD_KMODS += tirdwr ttcompat
! STRMOD_KMODS += usbkbm usbms usbwcm usb_ah
! STRMOD_KMODS += drcompat
! STRMOD_KMODS += cryptmod
! STRMOD_KMODS += vuid3ps2
!
! #
! # 'System' Modules (/kernel/sys):
! #
! SYS_KMODS += c2audit
! SYS_KMODS += exacctsys
! SYS_KMODS += inst_sync kaio msgsys semsys shmsys sysacct pipe
! SYS_KMODS += doorfs pset acctctl portfs
!
! #
! # 'User' Modules (/kernel/misc):
! #
! MISC_KMODS += ac97
! MISC_KMODS += bignum
! MISC_KMODS += consconfig gld ipc nfs_dlboot nfssrv scsi
! MISC_KMODS += strplumb swapgeneric tlimod
! MISC_KMODS += rpcsec rpcsec_gss kgssapi kmech_dummy
! MISC_KMODS += kmech_krb5
! MISC_KMODS += fssnap_if
! MISC_KMODS += hidparser kbtrans usba usba10 usbs49_fw
! MISC_KMODS += s1394
! MISC_KMODS += hpcsvc pcihp
! MISC_KMODS += rsmops
! MISC_KMODS += kcf
! MISC_KMODS += ksocket
! MISC_KMODS += ibcm
! MISC_KMODS += ibdm
! MISC_KMODS += ibdma
! MISC_KMODS += ibmf
! MISC_KMODS += ibtl
! MISC_KMODS += sol_ofs
! MISC_KMODS += idm
! MISC_KMODS += idmap
! MISC_KMODS += hook
! MISC_KMODS += neti
! MISC_KMODS += ctf
! MISC_KMODS += mac dls
! MISC_KMODS += cmlb
! MISC_KMODS += tem
! MISC_KMODS += pcicfg fcodem fcpci
! MISC_KMODS += scsi_vhci_f_sym scsi_vhci_f_tpgs scsi_vhci_f_asym_sun
! MISC_KMODS += scsi_vhci_f_sym_hds
! MISC_KMODS += scsi_vhci_f_tape scsi_vhci_f_tpgs_tape
! MISC_KMODS += fctl
! MISC_KMODS += emlxs_fw
! MISC_KMODS += qlc_fw_2200
! MISC_KMODS += qlc_fw_2300
! MISC_KMODS += qlc_fw_2400
! MISC_KMODS += qlc_fw_2500
! MISC_KMODS += qlc_fw_6322
! MISC_KMODS += qlc_fw_8100
! MISC_KMODS += spuni
! MISC_KMODS += hwa1480_fw uwba
! MISC_KMODS += mii
!
! MISC_KMODS += klmmod klmops
!
! #
! # Software Cryptographic Providers (/kernel/crypto):
! #
! CRYPTO_KMODS += aes
! CRYPTO_KMODS += arcfour
! CRYPTO_KMODS += blowfish
! CRYPTO_KMODS += des
! CRYPTO_KMODS += md4
! CRYPTO_KMODS += md5
! CRYPTO_KMODS += ecc
! CRYPTO_KMODS += rsa
! CRYPTO_KMODS += sha1
! CRYPTO_KMODS += sha2
! CRYPTO_KMODS += swrand
!
! #
! # IP Policy Modules (/kernel/ipp):
! #
! IPP_KMODS += dlcosmk
! IPP_KMODS += flowacct
! IPP_KMODS += ipgpc
! IPP_KMODS += dscpmk
! IPP_KMODS += tokenmt
! IPP_KMODS += tswtclmt
!
! #
! # 'Dacf' modules (/kernel/dacf)
! DACF_KMODS += consconfig_dacf
!
! #
! # SVVS Testing Modules (/kernel/strmod):
! #
! # These are streams and driver modules which are not to be
! # delivered with a released system. However, during development
! # it is convenient to build and install the SVVS kernel modules.
! #
! SVVS_KMODS += lmodb lmode lmodr lmodt svvslo tidg tivc tmux
!
! #
! # Modules eXcluded from the product:
! #
! XMODS +=
!
! #
! # 'Dacf' Modules (/kernel/dacf):
! #
! DACF_KMODS += net_dacf
!
! #
! # MAC-Type Plugin Modules (/kernel/mac)
! #
! MAC_KMODS += mac_6to4
! MAC_KMODS += mac_ether
! MAC_KMODS += mac_ipv4
! MAC_KMODS += mac_ipv6
! MAC_KMODS += mac_wifi
! MAC_KMODS += mac_ib
!
! #
! # socketmod (kernel/socketmod)
! #
! SOCKET_KMODS += sockpfp
! SOCKET_KMODS += socksctp
! SOCKET_KMODS += socksdp
! SOCKET_KMODS += sockrds
! SOCKET_KMODS += ksslf
!
! #
! # kiconv modules (/kernel/kiconv):
! #
! KICONV_KMODS += kiconv_emea kiconv_ja kiconv_ko kiconv_sc kiconv_tc
#
# Ensure that the variable member of the cpu_t (cpu_m) is defined
# for the lint builds so as not to cause lint errors during the
# global cross check.