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/zfs/Makefile
+++ new/usr/src/cmd/zfs/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
↓ open down ↓ |
19 lines elided |
↑ open up ↑ |
20 20 #
21 21 # Copyright 2010 Sun Microsystems, Inc. All rights reserved.
22 22 # Use is subject to license terms.
23 23 #
24 24 # Copyright 2010 Nexenta Systems, Inc. All rights reserved.
25 25 # Copyright (c) 2012 by Delphix. All rights reserved.
26 26 #
27 27
28 28 PROG= zfs
29 29 OBJS= zfs_main.o zfs_iter.o
30 +OUTPUTS= $(OBJS) zfs_hdrck.cpp zfs_hdrck.o
30 31 SRCS= $(OBJS:%.o=%.c)
31 32 POFILES= zfs_main.po zfs_iter.po
32 33 POFILE= zfs.po
33 34
34 35 include ../Makefile.cmd
35 36 include ../Makefile.ctf
36 37
37 38 FSTYPE= zfs
38 39 LINKPROGS= mount umount
39 40 ROOTETCFSTYPE= $(ROOTETC)/fs/$(FSTYPE)
40 41 USRLIBFSTYPE= $(ROOTLIB)/fs/$(FSTYPE)
41 42
42 43 LDLIBS += -lzfs_core -lzfs -luutil -lumem -lnvpair -lsec -lidmap
43 44
44 45 INCS += -I../../common/zfs
45 46
46 47 C99MODE= -xc99=%all
47 48 C99LMODE= -Xc99=%all
48 49
49 50 CPPFLAGS += -D_LARGEFILE64_SOURCE=1 -D_REENTRANT $(INCS)
50 51 $(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG
51 52
52 53 # lint complains about unused _umem_* functions
53 54 LINTFLAGS += -xerroff=E_NAME_DEF_NOT_USED2
54 55 LINTFLAGS64 += -xerroff=E_NAME_DEF_NOT_USED2
55 56
56 57 CERRWARN += -_gcc=-Wno-switch
57 58 CERRWARN += -_gcc=-Wno-type-limits
58 59 CERRWARN += -_gcc=-Wno-parentheses
59 60 CERRWARN += -_gcc=-Wno-uninitialized
60 61 CERRWARN += -_gcc=-Wno-old-style-declaration
61 62
↓ open down ↓ |
22 lines elided |
↑ open up ↑ |
62 63 ROOTUSRSBINLINKS = $(PROG:%=$(ROOTUSRSBIN)/%)
63 64 USRLIBFSTYPELINKS = $(LINKPROGS:%=$(USRLIBFSTYPE)/%)
64 65 ROOTETCFSTYPELINKS = $(LINKPROGS:%=$(ROOTETCFSTYPE)/%)
65 66
66 67 .KEEP_STATE:
67 68
68 69 .PARALLEL:
69 70
70 71 all: $(PROG)
71 72
72 -$(PROG): $(OBJS)
73 +$(PROG): $(OUTPUTS)
73 74 $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
74 75 $(POST_PROCESS)
75 76
76 77 install: all $(ROOTSBINPROG) $(ROOTUSRSBINLINKS) $(USRLIBFSTYPELINKS) \
77 78 $(ROOTETCFSTYPELINKS)
78 79
80 +zfs_hdrck.o: zfs_hdrck.cpp
81 + $(COMPILE.cc) -o $@ $^
82 +
83 +zfs_hdrck.cpp:
84 + find . -name '*.[ch]' | xargs grep -h '^#include <' > $@
85 +
79 86 $(POFILE): $(POFILES)
80 87 $(RM) $@
81 88 cat $(POFILES) > $@
82 89
83 90 clean:
84 - $(RM) $(OBJS)
91 + $(RM) $(PROG) $(OUTPUTS)
85 92
86 93 lint: lint_SRCS
87 94
88 95 # Links from /usr/sbin to /sbin
89 96 $(ROOTUSRSBINLINKS):
90 97 -$(RM) $@; $(SYMLINK) ../../sbin/$(PROG) $@
91 98
92 99 # Links from /usr/lib/fs/zfs to /sbin
93 100 $(USRLIBFSTYPELINKS):
94 101 -$(RM) $@; $(SYMLINK) ../../../../sbin/$(PROG) $@
95 102
96 103 # Links from /etc/fs/zfs to /sbin
97 104 $(ROOTETCFSTYPELINKS):
98 105 -$(RM) $@; $(SYMLINK) ../../../sbin/$(PROG) $@
99 106
100 107 FRC:
101 108
102 109 include ../Makefile.targ
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX