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
↓ 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)
↓ 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