xref: /titanic_52/usr/src/cmd/modload/Makefile.com (revision b6805bf78d2bbbeeaea8909a05623587b42d58b3)
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
52e107de7SJerry Gilliam# Common Development and Distribution License (the "License").
62e107de7SJerry 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#
222e107de7SJerry 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
512e107de7SJerry GilliamCOMMONSRC = $(DRVCOMMONSRC) $(MODCOMMONSRC)
522e107de7SJerry Gilliam
537c478bd9Sstevel@tonic-gateCLOBBERFILES = $(PROG)
547c478bd9Sstevel@tonic-gate
552e107de7SJerry Gilliam# lint is complicated here by the fact that we
562e107de7SJerry Gilliam# build multiple commands and with differing
572e107de7SJerry Gilliam# common source, drvsubr vs modsubr/plcysubr
582e107de7SJerry Gilliam#
592e107de7SJerry GilliamLINT_PROG= $(PROG:%=lint_%.c)
602e107de7SJerry GilliamLINTFLAGS += -erroff=E_NAME_DEF_NOT_USED2
612e107de7SJerry Gilliam
627014882cSRichard LoweCERRWARN += -_gcc=-Wno-parentheses
637014882cSRichard Lowe
647c478bd9Sstevel@tonic-gate# install specifics
657c478bd9Sstevel@tonic-gate
667c478bd9Sstevel@tonic-gate$(ROOTDRVPROG) := FILEMODE = 0555
677c478bd9Sstevel@tonic-gate
687c478bd9Sstevel@tonic-gateadd_drv			:= LDLIBS += -ldevinfo -lelf
697c478bd9Sstevel@tonic-gaterem_drv			:= LDLIBS += -ldevinfo
707c478bd9Sstevel@tonic-gateupdate_drv		:= LDLIBS += -ldevinfo
717c478bd9Sstevel@tonic-gate
722e107de7SJerry Gilliamlint_add_drv.c		:= LDLIBS += -ldevinfo -lelf
732e107de7SJerry Gilliamlint_rem_drv.c		:= LDLIBS += -ldevinfo
742e107de7SJerry Gilliamlint_update_drv.c	:= LDLIBS += -ldevinfo
752e107de7SJerry Gilliam
767c478bd9Sstevel@tonic-gate.KEEP_STATE:
777c478bd9Sstevel@tonic-gate
787c478bd9Sstevel@tonic-gate%.o:	../%.c
797c478bd9Sstevel@tonic-gate	$(COMPILE.c) $<
807c478bd9Sstevel@tonic-gate
817c478bd9Sstevel@tonic-gateall: $(PROG)
827c478bd9Sstevel@tonic-gate
837c478bd9Sstevel@tonic-gateadd_drv:	add_drv.o $(DRVCOMMONOBJ)
847c478bd9Sstevel@tonic-gate	$(LINK.c)  -o $@ add_drv.o $(DRVCOMMONOBJ) $(LDLIBS)
857c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
867c478bd9Sstevel@tonic-gate
877c478bd9Sstevel@tonic-gaterem_drv:	rem_drv.o $(DRVCOMMONOBJ)
887c478bd9Sstevel@tonic-gate	$(LINK.c)  -o $@ rem_drv.o $(DRVCOMMONOBJ) $(LDLIBS)
897c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
907c478bd9Sstevel@tonic-gate
917c478bd9Sstevel@tonic-gateupdate_drv:	update_drv.o $(DRVCOMMONOBJ)
927c478bd9Sstevel@tonic-gate	$(LINK.c)  -o $@ update_drv.o $(DRVCOMMONOBJ) $(LDLIBS)
937c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
947c478bd9Sstevel@tonic-gate
957c478bd9Sstevel@tonic-gatemodload:	modload.o $(MODCOMMONOBJ)
967c478bd9Sstevel@tonic-gate	 $(LINK.c)  -o $@ modload.o $(MODCOMMONOBJ) $(LDLIBS)
977c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
987c478bd9Sstevel@tonic-gate
997c478bd9Sstevel@tonic-gatemodunload:	modunload.o $(MODCOMMONOBJ)
1007c478bd9Sstevel@tonic-gate	 $(LINK.c)  -o $@ modunload.o $(MODCOMMONOBJ) $(LDLIBS)
1017c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1027c478bd9Sstevel@tonic-gate
1037c478bd9Sstevel@tonic-gatemodinfo:	modinfo.o $(MODCOMMONOBJ)
1047c478bd9Sstevel@tonic-gate	 $(LINK.c)  -o $@ modinfo.o $(MODCOMMONOBJ) $(LDLIBS)
1057c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1067c478bd9Sstevel@tonic-gate
1077c478bd9Sstevel@tonic-gateclean:
108*b6805bf7SGordon Ross	$(RM) $(OBJECTS)
1097c478bd9Sstevel@tonic-gate
1102e107de7SJerry Gilliamlint_%.c:
1112e107de7SJerry Gilliam	$(LINT.c) $(@:lint_%.c=../%.c) $(COMMONSRC) $(LDLIBS)
1122e107de7SJerry Gilliam
1132e107de7SJerry Gilliamlint:	$(LINT_PROG)
1147c478bd9Sstevel@tonic-gate
1157c478bd9Sstevel@tonic-gateinclude ../../Makefile.targ
116