8354 sync regcomp(3C) with upstream (fix make catalog)
[unleashed/tickless.git] / usr / src / uts / sun4u / cheetahplus / Makefile
blob7d68335ee4811ab8942d9827117207a8f974ba80
2 # CDDL HEADER START
4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
19 # CDDL HEADER END
23 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 # Use is subject to license terms.
28 # This makefile drives the production of the sun4u UltraSPARC driver
29 # module.
31 # sun4u implementation architecture dependent
35 # Path to the base of the uts directory tree (usually /usr/src/uts).
37 UTSBASE = ../..
40 # Define the module and object file sets.
42 MODULE = SUNW,UltraSPARC-III+
43 OBJECTS = $(CHEETAHPLUS_OBJS:%=$(OBJS_DIR)/%)
44 LINTS = $(CHEETAHPLUS_OBJS:%.o=$(LINTS_DIR)/%.ln)
45 ROOTMODULE = $(ROOT_PSM_CPU_DIR)/$(MODULE)
46 SOFTLINKS = SUNW,UltraSPARC-IV SUNW,UltraSPARC-IV+
47 ROOTSOFTLINKS = $(SOFTLINKS:%=$(ROOT_PSM_CPU_DIR)/%)
49 CPU_DIR = .
50 HERE = ../cheetahplus
53 # Include common rules.
55 include $(UTSBASE)/sun4u/Makefile.sun4u
58 # Override defaults
60 CLEANFILES += $(CPULIB) $(SYM_MOD)
63 # Define targets
65 ALL_TARGET = $(SYM_MOD)
66 LINT_TARGET = $(MODULE).lint
67 INSTALL_TARGET = def $(BINARY) $(ROOTMODULE) $(ROOTSOFTLINKS)
70 # lint pass one enforcement
72 CFLAGS += $(CCVERBOSE) -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
73 -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
74 ASFLAGS += -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
75 -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
78 # cpu-module-specific flags
80 CPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
81 -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
82 AS_CPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
83 -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
86 # Default build targets.
88 .KEEP_STATE:
90 def: $(DEF_DEPS)
92 all: $(ALL_DEPS)
94 clean: $(CLEAN_DEPS)
96 clobber: $(CLOBBER_DEPS)
98 lint: $(LINT_DEPS)
100 modlintlib: $(MODLINTLIB_DEPS)
102 clean.lint: $(CLEAN_LINT_DEPS)
104 install: $(INSTALL_DEPS)
106 $(CPULIB): $(BINARY)
107 $(BUILD.SO) $(BINARY)
109 $(SYM_MOD): $(UNIX_O) $(CPULIB)
110 @echo "resolving symbols against unix.o"
111 @(cd $(UNIX_DIR); pwd; \
112 CPU_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck)
114 $(ROOTSOFTLINKS): $(ROOTMODULE)
115 $(RM) $@; $(SYMLINK) $(MODULE) $@
117 # Include common targets.
119 include $(UTSBASE)/sun4u/Makefile.targ
122 # For now, disable these lint checks; maintainers should endeavor
123 # to investigate and remove these for maximum lint coverage.
124 # Please do not carry these forward to new Makefiles.
126 LINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
127 LINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
128 LINTTAGS += -erroff=E_STATIC_UNUSED
129 LINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
130 LINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
132 CERRWARN += -_gcc=-Wno-parentheses
133 CERRWARN += -_gcc=-Wno-uninitialized
134 CERRWARN += -_gcc=-Wno-unused-variable
135 CERRWARN += -_gcc=-Wno-type-limits
136 CERRWARN += -_gcc=-Wno-clobbered