Makefile revision 7014882c6a3672fd0e5d60200af8643ae53c5928
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# CDDL HEADER START
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# The contents of this file are subject to the terms of the
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# Common Development and Distribution License (the "License").
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# You may not use this file except in compliance with the License.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# or http://www.opensolaris.org/os/licensing.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# See the License for the specific language governing permissions
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# and limitations under the License.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# When distributing Covered Code, include this CDDL HEADER in each
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# If applicable, add the following below this CDDL HEADER, with the
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# fields enclosed by brackets "[]" replaced with your own identifying
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# information: Portions Copyright [yyyy] [name of copyright owner]
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# CDDL HEADER END
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# Use is subject to license terms.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# This file makes the atheros driver for an intel system
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# intel architecture dependent
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# Path to the base of the uts directory tree (usually /usr/src/uts).
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickUTSBASE = ../..
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# Define the module and object file sets.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickMODULE = ath
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickOBJECTS = $(ATH_OBJS:%=$(OBJS_DIR)/%) $(OBJS_DIR)/hal.o
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickLINTS = $(LINTS_DIR)/ath_aux.ln \
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick $(LINTS_DIR)/ath_main.ln \
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick $(LINTS_DIR)/ath_osdep.ln \
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick $(LINTS_DIR)/ath_rate.ln
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# Include common rules.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwickinclude $(UTSBASE)/intel/Makefile.intel
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# Define targets
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickALL_TARGET = $(BINARY)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickLINT_TARGET = $(MODULE).lint
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# Driver depends on GLDv3 & wifi kernel support module.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickLDFLAGS += -dy -Nmisc/mac -Nmisc/net80211
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickCERRWARN += -_gcc=-Wno-type-limits
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickCERRWARN += -_gcc=-Wno-unused-variable
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickCERRWARN += -_gcc=-Wno-empty-body
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# Default build targets.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick.KEEP_STATE:
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwickdef: $(DEF_DEPS)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwickall: $(ALL_DEPS)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwickclean: $(CLEAN_DEPS)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwickclobber: $(CLOBBER_DEPS)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwicklint: $(LINT_DEPS)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwickmodlintlib: $(MODLINTLIB_DEPS)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwickclean.lint: $(CLEAN_LINT_DEPS)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwickinstall: $(INSTALL_DEPS)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# Include common targets.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwickinclude $(UTSBASE)/intel/Makefile.targ
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# If you have any special case that general
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# Makefile rules don't serve for you, just do
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# it yourself.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# The amd64 version of this object has the .eh_frame section tagged
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# as SHT_PROGBITS, while the ABI requires SHT_AMD64_UNWIND. The Solaris
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# ld enforces this, so use elfedit to bring the object in line with
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick# this requirement.
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick#
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb FenwickATHEROS_HAL=$(UTSBASE)/common/io/ath/hal_x86_$(CLASS).o.uu
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick$(OBJS_DIR)/hal.o: $(ATHEROS_HAL)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick uudecode -o $@ $(ATHEROS_HAL)
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick if [ `elfedit -r -e 'ehdr:e_machine' $@` = EM_AMD64 ]; \
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick then elfedit -e 'shdr:sh_type .eh_frame SHT_AMD64_UNWIND' $@; fi
2225707c7e7edf7c636ed349df2592ef85329cddValerie Bubb Fenwick