Print this page
3748 zfs headers should be C++ compatible
Submitted by: Justin Gibbs <justing@spectralogic.com>
Submitted by: Will Andrews <willa@spectralogic.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/cmd/zpool/Makefile
+++ new/usr/src/cmd/zpool/Makefile
1 1 #
2 2 # CDDL HEADER START
3 3 #
4 4 # The contents of this file are subject to the terms of the
5 5 # Common Development and Distribution License (the "License").
6 6 # You may not use this file except in compliance with the License.
7 7 #
8 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 # or http://www.opensolaris.org/os/licensing.
10 10 # See the License for the specific language governing permissions
11 11 # and limitations under the License.
12 12 #
13 13 # When distributing Covered Code, include this CDDL HEADER in each
14 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 15 # If applicable, add the following below this CDDL HEADER, with the
16 16 # fields enclosed by brackets "[]" replaced with your own identifying
17 17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 18 #
19 19 # CDDL HEADER END
20 20 #
21 21 #
22 22 # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
23 23 #
24 24
25 25 PROG= zpool
26 26 OBJS= zpool_main.o zpool_vdev.o zpool_iter.o zpool_util.o
27 27 SRCS= $(OBJS:%.o=%.c)
28 28 POFILES=$(OBJS:%.o=%.po)
29 29 POFILE= zpool.po
↓ open down ↓ |
29 lines elided |
↑ open up ↑ |
30 30
31 31 include ../Makefile.cmd
32 32 include ../Makefile.ctf
33 33
34 34 STATCOMMONDIR = $(SRC)/cmd/stat/common
35 35
36 36 STAT_COMMON_OBJS = timestamp.o
37 37 STAT_COMMON_SRCS = $(STAT_COMMON_OBJS:%.o=$(STATCOMMONDIR)/%.c)
38 38 SRCS += $(STAT_COMMON_SRCS)
39 39
40 +OUTPUTS=$(OBJS) $(STAT_COMMON_OBJS) zpool_hdrck.cpp zpool_hdrck.o
41 +
40 42 LDLIBS += -lzfs -lnvpair -ldevid -lefi -ldiskmgt -luutil -lumem
41 43
42 44 INCS += -I../../common/zfs -I$(STATCOMMONDIR)
43 45
44 46 CPPFLAGS += -D_LARGEFILE64_SOURCE=1 -D_REENTRANT $(INCS)
45 47 $(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG
46 48
47 49 # lint complains about unused _umem_* functions
48 50 LINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2
49 51 LINTFLAGS64 += -xerroff=E_NAME_DEF_NOT_USED2
50 52
↓ open down ↓ |
1 lines elided |
↑ open up ↑ |
51 53 CERRWARN += -_gcc=-Wno-unused-function
52 54 CERRWARN += -_gcc=-Wno-uninitialized
53 55 CERRWARN += -_gcc=-Wno-parentheses
54 56
55 57 ROOTUSRSBINLINKS = $(PROG:%=$(ROOTUSRSBIN)/%)
56 58
57 59 .KEEP_STATE:
58 60
59 61 all: $(PROG)
60 62
61 -$(PROG): $(OBJS) $(STAT_COMMON_OBJS)
63 +$(PROG): $(OUTPUTS)
62 64 $(LINK.c) -o $@ $(OBJS) $(STAT_COMMON_OBJS) $(LDLIBS)
63 65 $(POST_PROCESS)
64 66
67 +zpool_hdrck.o: zpool_hdrck.cpp
68 + $(COMPILE.cc) -o $@ $^
69 +
70 +zpool_hdrck.cpp:
71 + find . -name '*.[ch]' | xargs grep -h '^#include <' > $@
72 +
65 73 %.o: $(STATCOMMONDIR)/%.c
66 74 $(COMPILE.c) $<
67 75 $(POST_PROCESS_O)
68 76
69 77 install: all $(ROOTSBINPROG) $(ROOTUSRSBINLINKS)
70 78
71 79 $(POFILE): $(POFILES)
72 80 $(RM) $@
73 81 $(CAT) $(POFILES) > $@
74 82
75 83 clean:
76 - $(RM) $(OBJS) $(STAT_COMMON_OBJS)
84 + $(RM) $(PROG) $(OUTPUTS)
77 85
78 86 lint: lint_SRCS
79 87
80 88 # Links from /usr/sbin to /sbin
81 89 $(ROOTUSRSBINLINKS):
82 90 -$(RM) $@; $(SYMLINK) ../../sbin/$(@F) $@
83 91
84 92 include ../Makefile.targ
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX