10080 smatch Makefile changes for usr/src/cmd
1 #
2 # CDDL HEADER START
3 #
4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
7 #
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21 #
22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
24 #
25 # cmd/modload/Makefile.com
26 #
27 # makefile for loadable module utilities
28
29 DRVPROG = add_drv rem_drv update_drv
30 MODPROG = modinfo modunload modload
31 PROG = $(MODPROG) $(DRVPROG)
32
33 include ../../Makefile.cmd
34
35 MODCOMMONOBJ = modsubr.o
36 MODCOMMONSRC = $(MODCOMMONOBJ:%.o=../%.c)
37
38 PLCYOBJ = plcysubr.o
39 PLCYSRC = $(PLCYOBJ:%.o=../%.c)
40
41 $(PLCYOBJ) := CPPFLAGS += -D_REENTRANT
42
43 ROOTDRVPROG = $(DRVPROG:%=$(ROOTUSRSBIN)/%)
44
45 DRVCOMMONOBJ = drvsubr.o $(PLCYOBJ)
46 DRVCOMMONSRC = $(DRVCOMMONOBJ:%.o=../%.c)
47
48 OBJECTS = $(MODCOMMONOBJ) $(DRVCOMMONOBJ) $(PROG:%=%.o)
49 SRCS = $(OBJECTS:%.o=../%.c)
50
51 COMMONSRC = $(DRVCOMMONSRC) $(MODCOMMONSRC)
52
53 CLOBBERFILES = $(PROG)
54
55 # lint is complicated here by the fact that we
56 # build multiple commands and with differing
57 # common source, drvsubr vs modsubr/plcysubr
58 #
59 LINT_PROG= $(PROG:%=lint_%.c)
60 LINTFLAGS += -erroff=E_NAME_DEF_NOT_USED2
61
62 CERRWARN += -_gcc=-Wno-parentheses
63
64 # install specifics
65
66 $(ROOTDRVPROG) := FILEMODE = 0555
67
68 add_drv := LDLIBS += -ldevinfo -lelf
69 rem_drv := LDLIBS += -ldevinfo
70 update_drv := LDLIBS += -ldevinfo
71
72 lint_add_drv.c := LDLIBS += -ldevinfo -lelf
73 lint_rem_drv.c := LDLIBS += -ldevinfo
74 lint_update_drv.c := LDLIBS += -ldevinfo
75
76 .KEEP_STATE:
77
78 %.o: ../%.c
79 $(COMPILE.c) $<
80
81 all: $(PROG)
82
83 add_drv: add_drv.o $(DRVCOMMONOBJ)
84 $(LINK.c) -o $@ add_drv.o $(DRVCOMMONOBJ) $(LDLIBS)
85 $(POST_PROCESS)
86
87 rem_drv: rem_drv.o $(DRVCOMMONOBJ)
88 $(LINK.c) -o $@ rem_drv.o $(DRVCOMMONOBJ) $(LDLIBS)
89 $(POST_PROCESS)
90
91 update_drv: update_drv.o $(DRVCOMMONOBJ)
92 $(LINK.c) -o $@ update_drv.o $(DRVCOMMONOBJ) $(LDLIBS)
93 $(POST_PROCESS)
94
95 modload: modload.o $(MODCOMMONOBJ)
96 $(LINK.c) -o $@ modload.o $(MODCOMMONOBJ) $(LDLIBS)
97 $(POST_PROCESS)
98
99 modunload: modunload.o $(MODCOMMONOBJ)
100 $(LINK.c) -o $@ modunload.o $(MODCOMMONOBJ) $(LDLIBS)
101 $(POST_PROCESS)
102
103 modinfo: modinfo.o $(MODCOMMONOBJ)
104 $(LINK.c) -o $@ modinfo.o $(MODCOMMONOBJ) $(LDLIBS)
105 $(POST_PROCESS)
106
107 clean:
108 $(RM) $(OBJECTS)
109
110 lint_%.c:
111 $(LINT.c) $(@:lint_%.c=../%.c) $(COMMONSRC) $(LDLIBS)
112
113 lint: $(LINT_PROG)
114
115 include ../../Makefile.targ
--- EOF ---