Makefile revision 986fd29a0dc13f7608ef7f508f6e700bd7bc2720
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# CDDL HEADER START
c7ef13f6c9ef4436bc804b150e0a93307b11fa27Tinderbox User# The contents of this file are subject to the terms of the
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User# Common Development and Distribution License (the "License").
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User# You may not use this file except in compliance with the License.
5e047890ac9b745db060d95f7d1b4f876511240dTinderbox User# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User# See the License for the specific language governing permissions
bed0874e1a09e810575328c4bfc346a47514b69fMark Andrews# and limitations under the License.
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# When distributing Covered Code, include this CDDL HEADER in each
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e20309353e6246485c521278131d3fced73d7957Tinderbox User# If applicable, add the following below this CDDL HEADER, with the
e20309353e6246485c521278131d3fced73d7957Tinderbox User# fields enclosed by brackets "[]" replaced with your own identifying
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
3cc98b8ecedcbc8465f1cf2740b966b315662430Automatic Updater# CDDL HEADER END
e20309353e6246485c521278131d3fced73d7957Tinderbox User# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Use is subject to license terms.
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews# ident "%Z%%M% %I% %E% SMI"
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# This makefile drives the production of unix (and unix.o).
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# sun4u serengeti implementation architecture dependent
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater# Path to the base of the uts directory tree (usually /usr/src/uts).
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# Define the module and object file sets.
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterLINTS = $(SPECIAL_OBJS:%.o=$(LINTS_DIR)/%.ln) \
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater $(MACH_NOT_YET_KMODS:%.o=$(LINTS_DIR)/%.ln) \
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterKRTLD_MAPFILE = $(UTSBASE)/sparc/krtld/mapfile
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterKRTLD_OBJECTS = $(KRTLD_OBJS:%=$(OBJS_DIR)/%)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsGENOPTS = -L $(GENUNIX_DIR)/$(OBJS_DIR) -l $(GENUNIX)
c59750de3ea3c7d5890000fb4606e8f5835a52aaTinderbox UserCPUOPTS = -L $(CPU_DIR)/$(OBJS_DIR) -l $(CPUNAME)
ec7751119a08c6a7250f3187beed69a8b836d349Tinderbox UserPLATOPTS = -L $(PLAT_DIR)/$(OBJS_DIR) -l $(PLATMOD)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# Include common rules.
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrewsinclude $(UTSBASE)/sun4u/serengeti/Makefile.serengeti
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# Define targets
2ba8f584b97cbab864570e38fd26b8cb90961428Tinderbox User# This is UNIX_DIR. Use a short path.
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark AndrewsCLEANFILES += $(UNIX_O) $(MODSTUBS_O) $(KRTLD_O) $(KRTLD_OBJECTS) \
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews# lint pass one enforcement
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews# Turn on doubleword alignment for 64 bit counter timer registers
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater# Default build targets.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater$(UNIX_BIN): $(UNIX_O) $(KRTLD_O) $(MODSTUBS_O) $(MAPFILE) $(LIBS) \
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User $(UNIX_O) $(KRTLD_O) $(MODSTUBS_O) $(LIBOPTS) $(DTRACESTUBS)
f132a836c4e386b1af045dd8fe7106ae61b90bffAutomatic Updatersymcheck.targ: $(UNIX_O) $(KRTLD_O) $(MODSTUBS_O) $(LIBS)
609b8d08176469485edce25f3c2f50365bbd3819Mark Andrews $(UNIX_O) $(KRTLD_O) $(MODSTUBS_O) $(LIBOPTS) $(DTRACESTUBS)
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater $(LD) -r -o $@ -M $(KRTLD_MAPFILE) $(KRTLD_OBJECTS)
91d187ce035f39073f0732ff2a401a45c3c955fbMark Andrews# Special rules for generating assym.h for inclusion in assembly files.
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater @(cd $(GENLIB_DIR); pwd; $(MAKE) all.targ)
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater# CPU_OBJ now comprises of 2 object files which come from sun4 common
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# and from architecture dependent code. OBJS_DIR is prepended where
609b8d08176469485edce25f3c2f50365bbd3819Mark Andrews# CPU_OBJ is defined to allow for building multiple CPU_OBJ's
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater# The global lint target builds the kernel lint library (llib-lunix.ln)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# which is equivalent to a lint of /unix.o. Then all kernel modules for
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# this architecture are linted against the kernel lint library.
8e5fce1f9ceba17dd7e3ff0eb287e1e999c14249Mark Andrews# Note: lint errors in the kernel lint library will be repeated for
91d187ce035f39073f0732ff2a401a45c3c955fbMark Andrews# each module. It is important that the kernel lint library
6a9d2121152c94cb9e35832126c3f2e4d18d81edTinderbox User# be clean to keep the textual output to a reasonable level.
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater @-$(ECHO) "\n$(UNIX): (library construction):"
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater# Include common targets.