xref: /titanic_53/usr/src/cmd/modload/Makefile.com (revision 2e107de79998f3036decec2454002940afb9a6ff)
17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
5*2e107de7SJerry Gilliam# Common Development and Distribution License (the "License").
6*2e107de7SJerry Gilliam# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
217c478bd9Sstevel@tonic-gate#
22*2e107de7SJerry Gilliam# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
237c478bd9Sstevel@tonic-gate# Use is subject to license terms.
247c478bd9Sstevel@tonic-gate#
257c478bd9Sstevel@tonic-gate# cmd/modload/Makefile.com
267c478bd9Sstevel@tonic-gate#
277c478bd9Sstevel@tonic-gate# makefile for loadable module utilities
287c478bd9Sstevel@tonic-gate
297c478bd9Sstevel@tonic-gateDRVPROG = add_drv rem_drv update_drv
307c478bd9Sstevel@tonic-gateMODPROG = modinfo modunload modload
317c478bd9Sstevel@tonic-gatePROG = $(MODPROG) $(DRVPROG)
327c478bd9Sstevel@tonic-gate
337c478bd9Sstevel@tonic-gateinclude ../../Makefile.cmd
347c478bd9Sstevel@tonic-gate
357c478bd9Sstevel@tonic-gateMODCOMMONOBJ = modsubr.o
367c478bd9Sstevel@tonic-gateMODCOMMONSRC = $(MODCOMMONOBJ:%.o=../%.c)
377c478bd9Sstevel@tonic-gate
387c478bd9Sstevel@tonic-gatePLCYOBJ = plcysubr.o
397c478bd9Sstevel@tonic-gatePLCYSRC = $(PLCYOBJ:%.o=../%.c)
407c478bd9Sstevel@tonic-gate
417c478bd9Sstevel@tonic-gate$(PLCYOBJ) := CPPFLAGS += -D_REENTRANT
427c478bd9Sstevel@tonic-gate
437c478bd9Sstevel@tonic-gateROOTDRVPROG = $(DRVPROG:%=$(ROOTUSRSBIN)/%)
447c478bd9Sstevel@tonic-gate
457c478bd9Sstevel@tonic-gateDRVCOMMONOBJ = drvsubr.o $(PLCYOBJ)
467c478bd9Sstevel@tonic-gateDRVCOMMONSRC = $(DRVCOMMONOBJ:%.o=../%.c)
477c478bd9Sstevel@tonic-gate
487c478bd9Sstevel@tonic-gateOBJECTS = $(MODCOMMONOBJ) $(DRVCOMMONOBJ) $(PROG:%=%.o)
497c478bd9Sstevel@tonic-gateSRCS = $(OBJECTS:%.o=../%.c)
507c478bd9Sstevel@tonic-gate
51*2e107de7SJerry GilliamCOMMONSRC = $(DRVCOMMONSRC) $(MODCOMMONSRC)
52*2e107de7SJerry Gilliam
537c478bd9Sstevel@tonic-gateCLOBBERFILES = $(PROG)
547c478bd9Sstevel@tonic-gate
55*2e107de7SJerry Gilliam# lint is complicated here by the fact that we
56*2e107de7SJerry Gilliam# build multiple commands and with differing
57*2e107de7SJerry Gilliam# common source, drvsubr vs modsubr/plcysubr
58*2e107de7SJerry Gilliam#
59*2e107de7SJerry GilliamLINT_PROG= $(PROG:%=lint_%.c)
60*2e107de7SJerry GilliamLINTFLAGS += -erroff=E_NAME_DEF_NOT_USED2
61*2e107de7SJerry Gilliam
627c478bd9Sstevel@tonic-gate# install specifics
637c478bd9Sstevel@tonic-gate
647c478bd9Sstevel@tonic-gate$(ROOTDRVPROG) := FILEMODE = 0555
657c478bd9Sstevel@tonic-gate
667c478bd9Sstevel@tonic-gateadd_drv			:= LDLIBS += -ldevinfo -lelf
677c478bd9Sstevel@tonic-gaterem_drv			:= LDLIBS += -ldevinfo
687c478bd9Sstevel@tonic-gateupdate_drv		:= LDLIBS += -ldevinfo
697c478bd9Sstevel@tonic-gate
70*2e107de7SJerry Gilliamlint_add_drv.c		:= LDLIBS += -ldevinfo -lelf
71*2e107de7SJerry Gilliamlint_rem_drv.c		:= LDLIBS += -ldevinfo
72*2e107de7SJerry Gilliamlint_update_drv.c	:= LDLIBS += -ldevinfo
73*2e107de7SJerry Gilliam
747c478bd9Sstevel@tonic-gate.KEEP_STATE:
757c478bd9Sstevel@tonic-gate
767c478bd9Sstevel@tonic-gate%.o:	../%.c
777c478bd9Sstevel@tonic-gate	$(COMPILE.c) $<
787c478bd9Sstevel@tonic-gate
797c478bd9Sstevel@tonic-gateall: $(PROG)
807c478bd9Sstevel@tonic-gate
817c478bd9Sstevel@tonic-gateadd_drv:	add_drv.o $(DRVCOMMONOBJ)
827c478bd9Sstevel@tonic-gate	$(LINK.c)  -o $@ add_drv.o $(DRVCOMMONOBJ) $(LDLIBS)
837c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
847c478bd9Sstevel@tonic-gate
857c478bd9Sstevel@tonic-gaterem_drv:	rem_drv.o $(DRVCOMMONOBJ)
867c478bd9Sstevel@tonic-gate	$(LINK.c)  -o $@ rem_drv.o $(DRVCOMMONOBJ) $(LDLIBS)
877c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
887c478bd9Sstevel@tonic-gate
897c478bd9Sstevel@tonic-gateupdate_drv:	update_drv.o $(DRVCOMMONOBJ)
907c478bd9Sstevel@tonic-gate	$(LINK.c)  -o $@ update_drv.o $(DRVCOMMONOBJ) $(LDLIBS)
917c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
927c478bd9Sstevel@tonic-gate
937c478bd9Sstevel@tonic-gatemodload:	modload.o $(MODCOMMONOBJ)
947c478bd9Sstevel@tonic-gate	 $(LINK.c)  -o $@ modload.o $(MODCOMMONOBJ) $(LDLIBS)
957c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
967c478bd9Sstevel@tonic-gate
977c478bd9Sstevel@tonic-gatemodunload:	modunload.o $(MODCOMMONOBJ)
987c478bd9Sstevel@tonic-gate	 $(LINK.c)  -o $@ modunload.o $(MODCOMMONOBJ) $(LDLIBS)
997c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1007c478bd9Sstevel@tonic-gate
1017c478bd9Sstevel@tonic-gatemodinfo:	modinfo.o $(MODCOMMONOBJ)
1027c478bd9Sstevel@tonic-gate	 $(LINK.c)  -o $@ modinfo.o $(MODCOMMONOBJ) $(LDLIBS)
1037c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1047c478bd9Sstevel@tonic-gate
1057c478bd9Sstevel@tonic-gateclean:
1067c478bd9Sstevel@tonic-gate	$(RM) $(OBJECTS) core
1077c478bd9Sstevel@tonic-gate
108*2e107de7SJerry Gilliamlint_%.c:
109*2e107de7SJerry Gilliam	$(LINT.c) $(@:lint_%.c=../%.c) $(COMMONSRC) $(LDLIBS)
110*2e107de7SJerry Gilliam
111*2e107de7SJerry Gilliamlint:	$(LINT_PROG)
1127c478bd9Sstevel@tonic-gate
1137c478bd9Sstevel@tonic-gateinclude ../../Makefile.targ
114