Print this page
    
Only exploit ipf state keeping for CFW logging.
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/usr/src/cmd/ipf/tools/Makefile.tools
          +++ new/usr/src/cmd/ipf/tools/Makefile.tools
   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 2009 Sun Microsystems, Inc.  All rights reserved.
  23   23  # Use is subject to license terms.
  24   24  #
  25   25  # Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
  26   26  # Copyright (c) 2012, Joyent Inc. All rights reserved.
  27   27  #
  
    | 
      ↓ open down ↓ | 
    27 lines elided | 
    
      ↑ open up ↑ | 
  
  28   28  
  29   29  PROG=           ipf ipfs ipmon ipnat ippool ipfstat
  30   30  IPFPROG=        ipftest
  31   31  
  32   32  IPF_OBJS=       ipf.o ipfcomp.o ipfzone.o ipf_y.o ipf_l.o
  33   33  IPFS_OBJS=      ipfs.o ipfzone.o
  34   34  IPFSTAT_OBJS=   ipfstat.o ipfzone.o
  35   35  IPMON_OBJS=     ipmon.o ipfzone.o ipmon_y.o ipmon_l.o
  36   36  IPNAT_OBJS=     ipnat.o ipfzone.o ipnat_y.o ipnat_l.o
  37   37  IPPOOL_OBJS=    ippool.o ipfzone.o ippool_y.o ippool_l.o
  38      -IPFTEST_OBJS=   ipftest.o ipfzone.o \
       38 +IPFTEST_OBJS=   cfw.o ipftest.o ipfzone.o \
  39   39                  ip_fil.o ip_state.o ip_compat.o \
  40   40                  ip_frag.o ip_nat.o ip_nat6.o fil.o \
  41   41                  ip_htable.o ip_lookup.o \
  42   42                  ip_proxy.o ip_auth.o ip_log.o \
  43   43                  ipf_y.o ipf_l.o \
  44   44                  ipnat_y.o ipnat_l.o \
  45   45                  ippool_y.o ippool_l.o \
  46   46                  ip_pool.o radix.o
  47   47  
  48   48  OBJS=           $(IPF_OBJS) $(IPFS_OBJS) $(IPFSTAT_OBJS) \
  49   49                  $(IPMON_OBJS) $(IPNAT_OBJS) $(IPPOOL_OBJS) $(IPFTEST_OBJS)
  50   50  
  51   51  OBJSL=          $(IPF_OBJS) $(IPFS_OBJS) $(IPFSTAT_OBJS) \
  52   52                  $(IPMON_OBJS) $(IPNAT_OBJS)
  53   53  
  54   54  SRCS=           $(OBJSL:%.o=../%.c)
  55   55  
  56   56  include ../../../Makefile.cmd
  57   57  include ../../Makefile.ipf
  58   58  
  59   59  LDLIBS          += $(LIBBPF)
  60   60  LDFLAGS         += $(MAPFILE.NGB:%=-M%)
  61   61  
  62   62  CPPFLAGS        += -I. -DIPFILTER_LOOKUP -DIPFILTER_LOG
  63   63  
  64   64  ipfstat.o       :=      CPPFLAGS += -DSTATETOP
  65   65  ipfstat         :=      LDLIBS += -lcurses
  66   66  
  67   67  ipf             :=      LDLIBS += -lsocket -lnsl
  68   68  ipftest         :=      LDLIBS += -lsocket -lnsl -lmd
  69   69  ipfstat         :=      LDLIBS += -lsocket -lnsl -lkvm -lelf
  70   70  ipmon           :=      LDLIBS += -lsocket -lnsl
  71   71  ipnat           :=      LDLIBS += -lsocket -lnsl -lkvm -lelf
  72   72  ippool          :=      LDLIBS += -lsocket -lnsl -lkvm -lelf
  73   73  
  74   74  CLEANFILES      += $(OBJS)
  75   75  CLOBBERFILES    += $(IPFPROG)
  76   76  
  77   77  ROOTIPF=        $(ROOTLIB)/ipf
  78   78  ROOTIPF32=      $(ROOTIPF)/$(MACH32)
  79   79  ROOTIPF64=      $(ROOTIPF)/$(MACH64)
  80   80  
  81   81  ROOTIPFPROG32=  $(IPFPROG:%=$(ROOTIPF32)/%)
  82   82  ROOTIPFPROG64=  $(IPFPROG:%=$(ROOTIPF64)/%)
  83   83  
  84   84  ROOTIPFLINKS=           $(IPFPROG:%=$(ROOTIPF)/%)
  85   85  ROOTUSRSBINLINKS=       $(PROG:%=$(ROOTUSRSBIN)/%)
  86   86  
  87   87  all:
  88   88  
  89   89  $(ROOTIPF32):
  90   90          $(INS.dir)
  91   91  
  92   92  $(ROOTIPF64):
  93   93          $(INS.dir)
  94   94  
  95   95  $(ROOTIPF)/%: %
  96   96          $(INS.file)
  97   97  
  98   98  $(ROOTIPF32)/%: %
  99   99          $(INS.file)
 100  100  
 101  101  $(ROOTIPF64)/%: %
 102  102          $(INS.file)
 103  103  
 104  104  $(ROOTUSRSBINLINKS): FRC
 105  105          -$(RM) $@; $(LN) $(ISAEXEC) $@
 106  106  
 107  107  $(ROOTIPFLINKS): FRC
 108  108          -$(RM) $@; $(LN) $(ISAEXEC) $@
 109  109  
 110  110  
 111  111  .KEEP_STATE:
 112  112  
 113  113  ipf:    $(IPF_OBJS) $(LIBIPF) $(MAPFILE.NGB)
 114  114          $(LINK.c) -o ipf $(IPF_OBJS) $(LDLIBS)
 115  115          $(POST_PROCESS)
 116  116  
 117  117  ipf_y.o: ../ipf_y.c $(COMMONIPF)/netinet/ip_fil.h $(COMMONIPF)/ipf.h \
 118  118          ../ipf_y.c ../ipf_l.h
 119  119  
 120  120  ../ipf_y.c ../ipf_y.h: ../ipf_y.y
 121  121          $(YACC) -d -b ipf ../ipf_y.y
 122  122          sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.c/' \
 123  123             ipf.tab.c > ../ipf_y.c
 124  124          sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.h/' \
 125  125             ipf.tab.h > ../ipf_y.h
 126  126  
 127  127  CLEANFILES += ipf.tab.c ipf.tab.h
 128  128  CLEANFILES += ../ipf_y.c ../ipf_y.h
 129  129  
 130  130  ipf_l.o: ../ipf_l.c $(COMMONIPF)/netinet/ip_fil.h $(COMMONIPF)/ipf.h  \
 131  131           ../ipf_y.h ../ipf_l.h
 132  132          $(COMPILE.c) ../ipf_l.c -o $@
 133  133  
 134  134  ../ipf_l.c: ../lexer.c $(COMMONIPF)/ipf.h $(COMMONIPF)/netinet/ip_fil.h
 135  135          sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.h/' \
 136  136                 -e 's/lexer.h/ipf_l.h/' ../lexer.c > $@
 137  137  
 138  138  ../ipf_l.h: ../lexer.h
 139  139          sed -e 's/yy/ipf_yy/g' ../lexer.h > $@
 140  140  
 141  141  CLEANFILES += ../ipf_l.c ../ipf_l.h
 142  142  
 143  143  
 144  144  ipfs:   $(IPFS_OBJS)
 145  145          $(LINK.c) -o ipfs $(IPFS_OBJS) $(LDLIBS)
 146  146          $(POST_PROCESS)
 147  147  
 148  148  ipfstat:        $(IPFSTAT_OBJS) $(MAPFILE.NGB)
 149  149          $(LINK.c) -o ipfstat $(IPFSTAT_OBJS) $(LDLIBS)
 150  150          $(POST_PROCESS)
 151  151  
 152  152  ipmon:  $(IPMON_OBJS) $(LIBIPF) $(MAPFILE.NGB)
 153  153          $(LINK.c) -o ipmon $(IPMON_OBJS) $(LDLIBS)
 154  154          $(POST_PROCESS)
 155  155  
 156  156  ipmon_y.o: ../ipmon_y.c $(COMMONIPF)/ipmon.h \
 157  157          ../ipmon_y.h ../ipmon_l.h
 158  158  
 159  159  ../ipmon_y.c ../ipmon_y.h: ../ipmon_y.y
 160  160          $(YACC) -d -b ipmon ../ipmon_y.y
 161  161          sed -e 's/yy/ipmon_yy/g' \
 162  162              -e 's/extern [a-z]* .*();//' \
 163  163              -e 's/^\(static [a-z]* .*\)();/\1(void);/' \
 164  164             ipmon.tab.c > ../ipmon_y.c
 165  165          sed -e 's/yy/ipmon_yy/g' -e 's/y.tab.h/ipmon_y.h/' \
 166  166             ipmon.tab.h > ../ipmon_y.h
 167  167  
 168  168  CLEANFILES += ipmon.tab.c ipmon.tab.h
 169  169  CLEANFILES += ../ipmon_y.c ../ipmon_y.h
 170  170  
 171  171  ipmon_l.o: ../ipmon_l.c $(COMMONIPF)/ipmon.h ../ipmon_y.h ../ipmon_l.h
 172  172          $(COMPILE.c) ../ipmon_l.c -o $@
 173  173  
 174  174  ../ipmon_l.c: ../lexer.c $(COMMONIPF)/ipmon.h
 175  175          sed -e 's/yy/ipmon_yy/g' -e 's/y.tab.h/ipmon_y.h/' \
 176  176              -e 's/lexer.h/ipmon_l.h/' ../lexer.c > $@
 177  177  
 178  178  ../ipmon_l.h: ../lexer.h
 179  179          sed -e 's/yy/ipmon_yy/g' ../lexer.h > $@
 180  180  
 181  181  CLEANFILES += ../ipmon_l.c ../ipmon_l.h
 182  182  
 183  183  ipnat:  $(IPNAT_OBJS) $(LIBIPF) $(MAPFILE.NGB)
 184  184          $(LINK.c) -o ipnat $(IPNAT_OBJS) $(LDLIBS)
 185  185          $(POST_PROCESS)
 186  186  
 187  187  ipnat_y.o: ../ipnat_y.c $(COMMONIPF)/netinet/ip_nat.h \
 188  188          ../ipnat_y.h ../ipnat_l.h
 189  189  
 190  190  ../ipnat_y.c ../ipnat_y.h: ../ipnat_y.y
 191  191          $(YACC) -d -b ipnat ../ipnat_y.y
 192  192          sed -e 's/yy/ipnat_yy/g' \
 193  193              -e 's/extern [a-z]* .*();//' \
 194  194              -e 's/^\(static [a-z]* .*\)();/\1(void);/' \
 195  195             ipnat.tab.c > ../ipnat_y.c
 196  196          sed -e 's/yy/ipnat_yy/g' -e 's/y.tab.h/ipnat_y.h/' \
 197  197             ipnat.tab.h > ../ipnat_y.h
 198  198  
 199  199  CLEANFILES += ipnat.tab.c ipnat.tab.h
 200  200  CLEANFILES += ../ipnat_y.c ../ipnat_y.h
 201  201  
 202  202  ipnat_l.o: ../ipnat_l.c $(COMMONIPF)/netinet/ip_nat.h ../ipnat_l.h
 203  203          $(COMPILE.c) ../ipnat_l.c -o $@
 204  204  
 205  205  ../ipnat_l.c: ../lexer.c $(COMMONIPF)/netinet/ip_nat.h
 206  206          sed -e 's/yy/ipnat_yy/g' -e 's/y.tab.h/ipnat_y.h/' \
 207  207                 -e 's/lexer.h/ipnat_l.h/' ../lexer.c > $@
 208  208  
 209  209  ../ipnat_l.h: ../lexer.h
 210  210          sed -e 's/yy/ipnat_yy/g' ../lexer.h > $@
 211  211  
 212  212  CLEANFILES += ../ipnat_l.c ../ipnat_l.h
 213  213  
 214  214  ippool: $(IPPOOL_OBJS) $(LIBIPF) $(MAPFILE.NGB)
 215  215          $(LINK.c) -o ippool $(IPPOOL_OBJS) $(LDLIBS)
 216  216          $(POST_PROCESS)
 217  217  
 218  218  ippool_y.o: ../ippool_y.c $(COMMONIPF)/netinet/ip_pool.h \
 219  219          ../ippool_y.h ../ippool_l.h
 220  220  
 221  221  ../ippool_y.c ../ippool_y.h: ../ippool_y.y
 222  222          $(YACC) -d -b ippool ../ippool_y.y
 223  223          sed -e 's/yy/ippool_yy/g' \
 224  224              -e 's/extern [a-z]* .*();//' \
 225  225              -e 's/^\(static [a-z]* .*\)();/\1(void);/' \
 226  226             ippool.tab.c > ../ippool_y.c
 227  227          sed -e 's/yy/ippool_yy/g' -e 's/y.tab.h/ippool_y.h/' \
 228  228             ippool.tab.h > ../ippool_y.h
 229  229  
 230  230  CLEANFILES += ippool.tab.c ippool.tab.h
 231  231  CLEANFILES += ../ippool_y.c ../ippool_y.h
 232  232  
 233  233  ippool_l.o: ../ippool_l.c $(COMMONIPF)/netinet/ip_pool.h ../ippool_l.h
 234  234          $(COMPILE.c) ../ippool_l.c -o $@
 235  235  
 236  236  ../ippool_l.c: ../lexer.c $(COMMONIPF)/netinet/ip_pool.h
 237  237          sed -e 's/yy/ippool_yy/g' -e 's/y.tab.h/ippool_y.h/' \
 238  238                 -e 's/lexer.h/ippool_l.h/' ../lexer.c > $@
 239  239  
 240  240  ../ippool_l.h: ../lexer.h
 241  241          sed -e 's/yy/ippool_yy/g' ../lexer.h > $@
 242  242  
 243  243  CLEANFILES += ../ippool_l.c ../ippool_l.h
 244  244  
 245  245  ipftest:        $(IPFTEST_OBJS) $(LIBIPF) $(MAPFILE.NGB)
 246  246          $(LINK.c) $(ZIGNORE) -o ipftest $(IPFTEST_OBJS) $(LDLIBS)  
 247  247          $(POST_PROCESS)
 248  248  
 249  249  clean:
 250  250          -$(RM) $(CLEANFILES)
 251  251  
 252  252  lint:   lint_SRCS
 253  253  
 254  254  #
 255  255  # NOTE: all rules must use relative paths otherwise absolute paths will be
 256  256  #       embedded into the binaries making them false positives and 
 257  257  #       reported by wsdiff
 258  258  #
 259  259  
 260  260  %.o:    ../../../../uts/common/inet/ipf/%.c
 261  261          $(COMPILE.c) $<
 262  262  
 263  263  %.o:    ../%.c
 264  264          $(COMPILE.c) $<
 265  265  
 266  266  %.o:    ../../../../common/net/patricia/%.c
 267  267          $(COMPILE.c) $<
 268  268  
 269  269  include ../../../Makefile.targ
 270  270  
 271  271  FRC:
  
    | 
      ↓ open down ↓ | 
    223 lines elided | 
    
      ↑ open up ↑ | 
  
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX