Makefile revision 1500
f743002678eb67b99bbc29fee116b65d9530fec0wrowe#
80833bb9a1bf25dcf19e814438a4b311d2e1f4cffuankg# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem#
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# Permission is hereby granted, free of charge, to any person obtaining a
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# copy of this software and associated documentation files (the "Software"),
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# to deal in the Software without restriction, including without limitation
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# the rights to use, copy, modify, merge, publish, distribute, sublicense,
4da61833a1cbbca94094f9653fd970582b97a72etrawick# and/or sell copies of the Software, and to permit persons to whom the
4da61833a1cbbca94094f9653fd970582b97a72etrawick# Software is furnished to do so, subject to the following conditions:
4da61833a1cbbca94094f9653fd970582b97a72etrawick#
4da61833a1cbbca94094f9653fd970582b97a72etrawick# The above copyright notice and this permission notice (including the next
4da61833a1cbbca94094f9653fd970582b97a72etrawick# paragraph) shall be included in all copies or substantial portions of the
4789804be088bcd86ae637a29cdb7fda25169521jailletc# Software.
4789804be088bcd86ae637a29cdb7fda25169521jailletc#
4789804be088bcd86ae637a29cdb7fda25169521jailletc# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4789804be088bcd86ae637a29cdb7fda25169521jailletc# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
e50c3026198fd496f183cda4c32a202925476778covener# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
e50c3026198fd496f183cda4c32a202925476778covener# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
e50c3026198fd496f183cda4c32a202925476778covener# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrin# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrin# DEALINGS IN THE SOFTWARE.
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic#
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic#
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic###############################################################################
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic#
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic# This Makefile builds mdb modules.
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic# It is designed to build both kernel kmdb and mdb .so files
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic#
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic###############################################################################
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic
69301145375a889e7e37caf7cc7321ac0f91801erpluem
69301145375a889e7e37caf7cc7321ac0f91801erpluemTOP:sh=hg root
69301145375a889e7e37caf7cc7321ac0f91801erpluemKERNEL = $(TOP)/open-src/kernel
506bfe33206b2fece40ef25f695af39dd4130facjkaluzaBUILD_TYPE = 64
506bfe33206b2fece40ef25f695af39dd4130facjkaluzainclude $(TOP)/open-src/common/Makefile.init
506bfe33206b2fece40ef25f695af39dd4130facjkaluza# Need common defaults
506bfe33206b2fece40ef25f695af39dd4130facjkaluzainclude $(TOP)/open-src/common/Makefile.defs
d58a848a016d401b965111e50ef829e1641f7834minfrininclude $(KERNEL)/Makefile.rules
d58a848a016d401b965111e50ef829e1641f7834minfrin
d58a848a016d401b965111e50ef829e1641f7834minfrinKMOD = i915
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sfMDBMOD = i915.so
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sfMODULES = $(KMOD) $(MDBMOD)
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicCFLAGS += -v -K PIC -xc99=%all -xdebugformat=stabs -xildoff
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicCFLAGS += -D_ELF64 -DMDB_DEBUG -D_KERNEL -D_KMDB -g -m64
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicCPPFLAGS += -I$(KERNEL) -I$(KERNEL)/sys/drm -I/usr/include
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicKMOD_LDFLAGS = -dy -r -Nmisc/kmdbmod -Mmapfile
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicSO_LDFLAGS = $(LDFLAGS) -Wl,-z,direct -Wl,-z,text -M mapfile
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavicSO_LDFLAGS += -Wl,-z,parent=/usr/bin$(ARCHLIBSUBDIR)/mdb
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavicCPPFLAGS += -xO3 -m64 -Ui386 -U__i386 -Xa -errtags=yes -errwarn=%all \
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic -erroff=E_EMPTY_TRANSLATION_UNIT -erroff=E_STATEMENT_NOT_REACHED \
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic -W0,-xglobalstatic -g -W0,-noglobal \
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic -DTEXT_DOMAIN=\"SUNW_OST_OSCMD\" -D_ERRNO_VERIFY -DMDB_DEBUG \
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic -D_KERNEL -D_ELF64
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavicSOURCES = i915.c
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavicOBJECTS = $(SOURCES:%.c=%.o)
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavicLINTFILES = $(SOURCES:%.c=%.ln)
d7205b1a86c51c27b71a2c458dc453fd53a261c1covenerBC_OBJS = $(SOURCES:%.c=%.o.bc)
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener
d7205b1a86c51c27b71a2c458dc453fd53a261c1covenerall: $(MODULES)
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener.KEEP_STATE:
44ff304057225e944e220e981d434a046d14cf06covener
44ff304057225e944e220e981d434a046d14cf06covener.NO_PARALLEL:
44ff304057225e944e220e981d434a046d14cf06covener.PARALLEL: $(OBJECTS) $(LINTFILES)
44ff304057225e944e220e981d434a046d14cf06covener
5d1ba75b8794925e67591c209085a49279791de9covener$(OBJECTS): $(SOURCES)
5d1ba75b8794925e67591c209085a49279791de9covener @print CFLAGS=$(CFLAGS)
5d1ba75b8794925e67591c209085a49279791de9covener $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand $(CTFCONVERT) $(CTFCVTFLAGS) $@
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand$(KMOD): $(OBJECTS)
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand $(LD) -o $@ $(OBJECTS) $(KMOD_LDFLAGS) $(LIBS)
caad2986f81ab263f7af41467dd622dc9add17f3ylavic $(CTFMERGE) $(CTFMERGE_LABEL) -o $@ $(OBJECTS)
caad2986f81ab263f7af41467dd622dc9add17f3ylavic
caad2986f81ab263f7af41467dd622dc9add17f3ylavic$(MDBMOD): $(OBJECTS)
caad2986f81ab263f7af41467dd622dc9add17f3ylavic $(CC) $(CFLAGS) $(CPPFLAGS) -G -o $@ $(SOURCES) $(LDFLAGS) \
45a10d38e6051fd7bdf9d742aaae633d97ff02abjailletc $(SO_LDFLAGS) $(LIBS)
f7317ff316c2b141feea31bddb74d5d3fa1584edjorton
f7317ff316c2b141feea31bddb74d5d3fa1584edjortoninstall: $(MODULES)
2165214331e4afafca4048f66f303d0253d7b001covener @print Installing $(KMOD) in $(PROTODIR)$(ROOT_KMOD_DIR)
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem @print Installing $(MDBMOD) in $(PROTODIR)$(ROOT_MDB_DIR)
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem @mkdir -p $(PROTODIR)$(ROOT_KMOD_DIR)
1e2d421a36999d292042a5539971070d54aa6c63ylavic @mkdir -p $(PROTODIR)$(ROOT_MDB_DIR)
1e2d421a36999d292042a5539971070d54aa6c63ylavic @$(INSTALL_SCRIPT) -m 555 $(KMOD) $(PROTODIR)$(ROOT_KMOD_DIR)
1e2d421a36999d292042a5539971070d54aa6c63ylavic @$(INSTALL_SCRIPT) -m 555 $(MDBMOD) $(PROTODIR)$(ROOT_MDB_DIR)
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedoohclean:
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh rm -f $(OBJECTS) $(BC_OBJS) $(MODULES)
0b67eb8568cd58bb77082703951679b42cf098actrawick
0b67eb8568cd58bb77082703951679b42cf098actrawickclean.lint:
0b67eb8568cd58bb77082703951679b42cf098actrawick rm -f $(LINTFILES)
0b67eb8568cd58bb77082703951679b42cf098actrawick
5ef3c61605a3a021ff71f488983cb0065f8e1a79covenerclobber: clean clean.lint
fb1985a97912b25ec6564c73e610a31e5fc6e25fcovener rm -f $(MODULES)
09c87c777bed1655621bb20e1c46cb6b1a63279dcovener
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic%.ln:%.c
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic $(LINT) $(LINTFLAGS) $(CPPFLAGS) -o $@ $<
3060ce7f798fbda7999cd4ddf89b525d2b294185covener
c1a63b8fad09c419c1a64f75993feb8a343a6801ylaviclint: $(LINTFILES)
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic