Mercurial > illumos > illumos-gate
view usr/src/uts/sparc/Makefile.sparc.shared @ 3957:86c9dda5df37
PSARC/2007/052 In-kernel Sharetab
6371468 /etc/dfs/sharetab should be a mntfs style file
author | th199096 |
---|---|
date | Mon, 02 Apr 2007 21:38:04 -0700 |
parents | 45d8d0ee8613 |
children | d12f36b7c388 |
line wrap: on
line source
# # 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. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "%Z%%M% %I% %E% SMI" # # 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 $(UTSTREE)/sun/Makefile.files include $(UTSTREE)/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) $(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 = -xarch=v9 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) CFLAGS += $(C99MODE) CFLAGS += $(CCUNBOUND) CFLAGS += $(CCSTATICSYM) CFLAGS += $(IROPTFLAG) CFLAGS += $(CGLOBALSTATIC) CFLAGS += -xregs=no%float ASFLAGS += $(XARCH) LINT_DEFS_32 = LINT_DEFS_64 = -Xarch=v9 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 :sh = echo \\043 DEBUG_COND_DBG32 = DEBUG_COND_OBJ64 :sh = echo \\043 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 # # This rather strange collection of definitions ensures that lint sees # 'struct cpu' containing a fully declared embedded 'struct machcpu' # # There's something deeply dissatisfying about this. # LINTMACHFLAGS = -D_MACHDEP -I../../sun4 -I../../$(PLATFORM) -I../../sfmmu $(LINTS_DIR)/kcpc.ln := LINTFLAGS += $(LINTMACHFLAGS) $(LINTS_DIR)/kdi.ln := LINTFLAGS += $(LINTMACHFLAGS) $(LINTS_DIR)/msacct.ln := LINTFLAGS += $(LINTMACHFLAGS) $(LINTS_DIR)/thread.ln := LINTFLAGS += $(LINTMACHFLAGS) # # Build `options'. These are mostly historical and the need for these # is largely removed by the module technology. However, the static # build will continue to require these. # OPTION_DEFS = -DC2_AUDIT # # 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 bl bofi clone cn conskbd consms cpuid DRV_KMODS += crypto cryptoadm devinfo dump DRV_KMODS += dtrace fasttrap fbt lockstat profile sdt systrace DRV_KMODS += fssnap icmp icmp6 ip ip6 ipsecah DRV_KMODS += ipsecesp 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 += sppp sppptun sy sysevent sysmsg DRV_KMODS += spdsock DRV_KMODS += tcp tcp6 tl tnf ttymux udp udp6 wc winlock zcons DRV_KMODS += ippctl sctp sctp6 DRV_KMODS += dld DRV_KMODS += ipf DRV_KMODS += rpcib DRV_KMODS += vni DRV_KMODS += xge DRV_KMODS += rds DRV_KMODS += chxge # # Don't build some of these for OpenSolaris, since they will be # replaced by binaries that are signed by Sun Release Engineering. # $(CLOSED_BUILD)DRV_KMODS += dca $(CLOSED_BUILD)CLOSED_DRV_KMODS += glm $(CLOSED_BUILD)CLOSED_DRV_KMODS += isp $(CLOSED_BUILD)CLOSED_DRV_KMODS += llc2 $(CLOSED_BUILD)CLOSED_DRV_KMODS += mpt $(CLOSED_BUILD)CLOSED_DRV_KMODS += se # # Hardware Drivers in common space # DRV_KMODS += e1000g DRV_KMODS += pcan DRV_KMODS += pcwl DRV_KMODS += rge $(CLOSED_BUILD)CLOSED_DRV_KMODS += ixgb # # Machine Specific Driver Modules (/kernel/drv): # DRV_KMODS += audio1575 audio810 audiohd audiocs audiots DRV_KMODS += bge bpp eri esp fas hme 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 += hci1394 av1394 scsa1394 dcam1394 DRV_KMODS += sbp2 DRV_KMODS += ib ibd rdsib sdp DRV_KMODS += pci_pci px_pci pxb_plx pxb_bcm pcie DRV_KMODS += i8042 kb8042 mouse8042 DRV_KMODS += fcode DRV_KMODS += socal DRV_KMODS += sgen DRV_KMODS += dad $(CLOSED_BUILD)CLOSED_DRV_KMODS += audioens $(CLOSED_BUILD)CLOSED_DRV_KMODS += audiovia823x $(CLOSED_BUILD)CLOSED_DRV_KMODS += ifp $(CLOSED_BUILD)CLOSED_DRV_KMODS += scsi_vhci $(CLOSED_BUILD)CLOSED_DRV_KMODS += uata $(CLOSED_BUILD)CLOSED_DRV_KMODS += usbser_edge # # 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 += stp4020 pcs MISC_KMODS += busra cardbus dada pcmcia DRV_KMODS += pcata pcmem pcram DRV_KMODS += pcic DRV_KMODS += pem $(CLOSED_BUILD)CLOSED_DRV_KMODS += pcelx $(CLOSED_BUILD)CLOSED_DRV_KMODS += pcser # 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 javaexec # # Scheduling Class Modules (/kernel/sched): # SCHED_KMODS += RT TS RT_DPTBL TS_DPTBL IA FSS FX FX_DPTBL # # File System Modules (/kernel/fs): # FS_KMODS += dev devfs fdfs fifofs hsfs lofs namefs nfs pcfs tmpfs zfs FS_KMODS += specfs udfs ufs autofs cachefs procfs sockfs mntfs FS_KMODS += ctfs objfs sharefs # # Streams Modules (/kernel/strmod): # STRMOD_KMODS += 6to4tun atun bufmod connld dedump ldterm ms pckt pfmod STRMOD_KMODS += pipemod ptem redirmod rpcmod rlmod telmod timod STRMOD_KMODS += spppasyn spppcomp STRMOD_KMODS += tirdwr ttcompat tun STRMOD_KMODS += usbkbm usbms usb_ah STRMOD_KMODS += drcompat STRMOD_KMODS += nattymod 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 += amsrc2 audiosup diaudio mixer MISC_KMODS += consconfig gld ipc nfs_dlboot nfssrv scsi MISC_KMODS += strplumb swapgeneric tlimod MISC_KMODS += krtld 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 pciehpc pcishpc MISC_KMODS += rsmops MISC_KMODS += kcf MISC_KMODS += ibcm MISC_KMODS += ibdm MISC_KMODS += ibmf MISC_KMODS += ibtl MISC_KMODS += hook MISC_KMODS += neti MISC_KMODS += ctf MISC_KMODS += mac dls MISC_KMODS += cmlb MISC_KMODS += tem MISC_KMODS += pcicfg.e fcodem fcpci $(CLOSED_BUILD)CLOSED_MISC_KMODS += amsrc1 $(CLOSED_BUILD)CLOSED_MISC_KMODS += klmmod klmops $(CLOSED_BUILD)CLOSED_MISC_KMODS += phx # # Software Cryptographic Providers (/kernel/crypto): # # Don't build some of these for OpenSolaris, since they will be # replaced by binaries that are signed by Sun RE. # $(CLOSED_BUILD)CRYPTO_KMODS += aes $(CLOSED_BUILD)CRYPTO_KMODS += arcfour $(CLOSED_BUILD)CRYPTO_KMODS += blowfish $(CLOSED_BUILD)CRYPTO_KMODS += des CRYPTO_KMODS += md5 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 lo tidg tivc tmux SVVS += svvs # # Modules eXcluded from the product: # XMODS += $(CLOSED_BUILD)CLOSED_XMODS = \ daplt \ sdpib \ tavor \ wsdrv # # 'Dacf' Modules (/kernel/dacf): # DACF_KMODS += usb_ac_dacf # # MAC-Type Plugin Modules (/kernel/mac) # MAC_KMODS += mac_ether MAC_KMODS += mac_wifi # # 'Devname' Modules (kernel/devname) # DEVNAME_KMODS += sdev_nsconfig_mod