]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
build: autotools conversion
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 6 Nov 2014 16:09:44 +0000 (17:09 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 12 Nov 2014 18:41:13 +0000 (19:41 +0100)
1) This removes former Makefiles and install-sh (which is now
   automagically imported via autoreconf).

 Makefile.defs.in
 Makefile.in
 Makefile.rules.in
 src/Makefile.in
 install-sh (now automagically imported via autoreconf).

2) CFLAGS are left almost same, they are integrated into Make_global.am.
   Use AM_CPPFLAGS to set the CFLAGS set by pkgconfig.

3) Add m4 directory to the tree which only contains the .gitignore
   file. Update .gitignore file to skip autogenerated files.

4) include <config.h> whenever required.

5) Minor adjustments to scanner.l and parser_bison.y to compile cleanly
   with autotools.

6) Add %option outfile=lex.yy.c to scanner.l, otherwise I hit this error
   here:

        gcc -DHAVE_CONFIG_H -I. -I..  -I../include -DDEFAULT_INCLUDE_PATH="\"/usr/etc\""  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wdeclaration-after-statement -Wsign-compare -Winit-self -Wformat-nonliteral -Wformat-security -Wmissing-format-attribute -Wcast-align -Wundef -Wbad-function-cast -g -O2 -MT mnl.o -MD -MP -MF $depbase.Tpo -c -o mnl.o mnl.c &&\
        mv -f $depbase.Tpo $depbase.Po
/bin/sh ../build-aux/ylwrap scanner.l lex.yy.c scanner.c -- flex
make[3]: *** [scanner.c] Error 1
make[3]: Leaving directory `/home/pablo/devel/scm/git-netfilter/nftables/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/pablo/devel/scm/git-netfilter/nftables/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pablo/devel/scm/git-netfilter/nftables'
make: *** [all] Error 2

7) Add Makefile.am for include/ (contributed by Giorgio Dal Molin).

The doc/ and files/ conversion to automake will come in follow up
patches but 'make distcheck' already works.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
17 files changed:
.gitignore
Makefile.am [new file with mode: 0644]
Makefile.defs.in [deleted file]
Makefile.in [deleted file]
Makefile.rules.in [deleted file]
configure.ac
include/Makefile.am [new file with mode: 0644]
include/linux/Makefile.am [new file with mode: 0644]
include/linux/netfilter/Makefile.am [new file with mode: 0644]
install-sh [deleted file]
m4/.gitignore [new file with mode: 0644]
src/Makefile.am [new file with mode: 0644]
src/Makefile.in [deleted file]
src/cli.c
src/erec.c
src/parser_bison.y
src/scanner.l

index d26b395830786073d0a702a69c36c10ce74f2d95..63ef1a298cb5d4eb56d7b52bd19babfed06900d0 100644 (file)
@@ -2,10 +2,13 @@
 .*.d
 *.o
 
-# Generated by autoconf/configure
+# Generated by autoconf/configure/automake
+*.m4
 Makefile
-Makefile.defs
-Makefile.rules
+Makefile.in
+src/Makefile.in
+src/.deps/
+stamp-h1
 config.h
 config.h.in
 config.h.in~
@@ -13,6 +16,13 @@ config.log
 config.status
 configure
 autom4te.cache
+build-aux/
+libtool
+missing
+depcomp
+ylwrap
+src/parser_bison.c
+src/parser_bison.h
 
 # Debian package build temporary files
 build-stamp
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..8d301f6
--- /dev/null
@@ -0,0 +1,4 @@
+ACLOCAL_AMFLAGS        = -I m4
+
+SUBDIRS =      src     \
+               include
diff --git a/Makefile.defs.in b/Makefile.defs.in
deleted file mode 100644 (file)
index b9b115f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-DEBUG          = @CONFIG_DEBUG@
-CC             = @CC@
-CPP            = @CPP@
-LEX            = @LEX@
-YACC           = @YACC@
-MKDIR_P                = @MKDIR_P@
-INSTALL                = @INSTALL@
-SED            = @SED@
-DB2MAN         = @DB2MAN@
-
-PACKAGE_TARNAME        = @PACKAGE_TARNAME@
-
-prefix         = @prefix@
-exec_prefix    = @exec_prefix@
-sysconfdir     = @sysconfdir@
-datarootdir    = @datarootdir@
-mandir         = @mandir@
-docdir         = @docdir@
-pdfdir         = @pdfdir@
-confdir                = @sysconfdir@/nftables
-
-LDFLAGS                += -lmnl -lnftnl
-LDFLAGS                += @LIBS@
-
-CPPFLAGS       += @CPPFLAGS@
-
-CFLAGS         += @CFLAGS@ @DEFS@
-CFLAGS         += -DDEFAULT_INCLUDE_PATH="\"$(confdir)\""
-CFLAGS         += -include config.h
-CFLAGS         += -Iinclude
-CFLAGS         += -fno-strict-aliasing
-
-CFLAGS         += -Wall
-CFLAGS         += -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
-CFLAGS         += -Wdeclaration-after-statement -Wsign-compare -Winit-self
-CFLAGS         += -Wformat-nonliteral -Wformat-security -Wmissing-format-attribute
-CFLAGS         += -Wcast-align -Wundef -Wbad-function-cast # -Wshadow
-CFLAGS         += -Waggregate-return -Wunused -Wwrite-strings
-
-ifeq ($(DEBUG),y)
-CFLAGS         += -g -DDEBUG
-endif
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644 (file)
index 5d42541..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-SUBDIRS                += src
-SUBDIRS                += files
-SUBDIRS                += doc
-
-include Makefile.rules
diff --git a/Makefile.rules.in b/Makefile.rules.in
deleted file mode 100644 (file)
index 6a00916..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-include Makefile.defs
-
-makedeps               += $(SUBDIR)Makefile
-makedeps               += Makefile
-makedeps               += Makefile.defs
-makedeps               += Makefile.rules
-
-configure:             configure.ac
-                       sh autogen.sh
-
-%:                     %.in    configure
-                       sh configure
-
-%.o:                   %.c     $(makedeps)
-                       @echo -e "  CC\t\t$<"
-                       $(CC) $(CFLAGS) -c -o $@ $<
-
-.%.d:                  %.c     $(makedeps)
-                       @echo -e "  DEP\t\t$<"
-                       $(RM) $@
-                       $(CC) -M $(CFLAGS) $< | sed 's,$(*F)\.o[ :]*,$*.o $@ : ,g' > $@
-
-%.c %.h:               %.y     $(makedeps)
-                       @echo -e "  YACC\t\t$<"
-                       $(YACC) $(YACCFLAGS) --defines=$*.h.tmp -o $@ $<
-                       ( \
-                               echo "#ifndef __$(*F)_H"; \
-                               echo "#define __$(*F)_H"; \
-                               cat $*.h.tmp; \
-                               echo "#endif /* __$(*F)_H */" \
-                       ) > $*.h
-                       $(RM) $*.h.tmp
-
-%.c %.h:               %.l     $(makedeps)
-                       @echo -e "  LEX\t\t$<"
-                       $(LEX) -t --header-file=$(<:.l=.h) $< > $@
-
-%.8:                   %.xml   $(makedeps)
-                       @echo -e "  MAN\t\t$@"
-                       (cd $(SUBDIR); $(DB2MAN) --xinclude ../$<)
-
-%.pdf:                 %.xml   $(makedeps)
-                       @echo -e "  PDF\t\t$@"
-                       dblatex -q -t pdf -o $@ $<
-
-archive:
-                       git archive --prefix=nftables-@PACKAGE_VERSION@/ HEAD | \
-                               bzip2 -c > nftables-@PACKAGE_VERSION@.tar.bz2
-
-define program_template
-$(1)-obj               := $$(patsubst %,$(SUBDIR)%,$$($(1)-obj))
-$(1)-extra-clean-files := $$(patsubst %,$(SUBDIR)%,$$($(1)-extra-clean-files))
-
-depfiles               := $$(patsubst $(SUBDIR)%.o,$(SUBDIR).%.d,$$($(1)-obj))
-
-$(SUBDIR)$(1):         $$($(1)-extra-targets) $$($(1)-obj)
-                       @echo -e "  LD\t\t$$@"
-                       $$(CC) $$($(1)-obj) $$(LDFLAGS) -o $$@
-all_targets            += $(SUBDIR)$(1)
-
-.PHONY:                        $(1)-clean
-$(1)-clean:
-                       @echo -e "  CLEAN\t\t$(1)"
-                       $$(RM) $$($(1)-obj) $$(depfiles) $$($(1)-extra-clean-files) $(SUBDIR)$(1)
-clean_targets          += $(1)-clean
-
-.PHONY:                        $(1)-install
-$(1)-install:
-                       @echo -e "  INSTALL\t$1"
-                       $(MKDIR_P) $$(DESTDIR)/$$($(1)-destdir)
-                       $(INSTALL) -m 755 -p \
-                               $(SUBDIR)$(1) \
-                               $$(DESTDIR)/$$($(1)-destdir)/$(1)
-install_targets                += $(1)-install
-
-ifneq ($(MAKECMDGOALS),clean)
--include $$(depfiles)
-endif
-endef
-
-ifneq ($(SUBDIR),)
-include $(SUBDIR)/Makefile
-$(foreach prog,$(PROGRAMS),$(eval $(call program_template,$(prog))))
-endif
-
-.DEFAULT_GOAL          := all
-
-.PHONY:                        all clean install
-all:                   $(SUBDIRS) $(all_targets)
-clean:                 $(SUBDIRS) $(clean_targets)
-install:               all $(SUBDIRS) $(install_targets)
-
-.PHONY: $(SUBDIRS)
-$(SUBDIRS):
-                       @echo -e "  SUBDIR\t$@/"
-                       @$(MAKE) -s -f Makefile.rules $(MAKECMDGOALS) SUBDIR="$@/" SUBDIRS=""
index ee9cf6c5b1baa088de08572d1acac453ecbd9c84..e71dcedf141911e08962daf44c94f8e1eb3e0de8 100644 (file)
@@ -7,6 +7,15 @@ AC_COPYRIGHT([Copyright (c) 2008 Patrick McHardy <kaber@trash.net>])
 AC_INIT([nftables], [0.3], [netfilter-devel@vger.kernel.org])
 AC_DEFINE([RELEASE_NAME], ["Support Edward Snowden"], [Release name])
 
+AC_CONFIG_AUX_DIR([build-aux])
+AC_CANONICAL_HOST
+AC_CONFIG_MACRO_DIR([m4])
+AM_INIT_AUTOMAKE([-Wall foreign subdir-objects
+        tar-pax no-dist-gzip dist-bzip2 1.6])
+
+dnl kernel style compile messages
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
 AC_CONFIG_SRCDIR([src/rule.c])
 AC_CONFIG_HEADER([config.h])
 
@@ -77,8 +86,10 @@ AC_ARG_WITH([cli], [AS_HELP_STRING([--without-cli],
 AS_IF([test "x$with_cli" != xno], [
 AC_CHECK_LIB([readline], [readline], ,
             AC_MSG_ERROR([No suitable version of libreadline found]))
+AC_DEFINE([HAVE_LIBREADLINE], [1], [])
 ])
 AC_SUBST(with_cli)
+AM_CONDITIONAL([BUILD_CLI], [test "x$with_cli" != xno])
 
 # Checks for header files.
 AC_HEADER_STDC
@@ -108,6 +119,15 @@ AC_TYPE_UINT64_T
 # Checks for library functions.
 AC_CHECK_FUNCS([memmove memset strchr strdup strerror strtoull])
 
-AC_CONFIG_FILES([Makefile Makefile.defs Makefile.rules])
-AC_CONFIG_FILES([src/Makefile doc/Makefile files/Makefile])
+AC_CONFIG_FILES([                                      \
+               Makefile                                \
+               src/Makefile                            \
+               include/Makefile                        \
+               include/linux/Makefile                  \
+               include/linux/netfilter/Makefile        \
+               ])
 AC_OUTPUT
+
+echo "
+nft configuration:
+  cli support:                 ${with_cli}"
diff --git a/include/Makefile.am b/include/Makefile.am
new file mode 100644 (file)
index 0000000..f22561b
--- /dev/null
@@ -0,0 +1,22 @@
+SUBDIRS = linux
+
+noinst_HEADERS =       cli.h           \
+                       datatype.h      \
+                       expression.h    \
+                       gmputil.h       \
+                       mnl.h           \
+                       nftables.h      \
+                       payload.h       \
+                       rbtree.h        \
+                       statement.h     \
+                       ct.h            \
+                       erec.h          \
+                       exthdr.h        \
+                       headers.h       \
+                       list.h          \
+                       meta.h          \
+                       netlink.h       \
+                       parser.h        \
+                       proto.h         \
+                       rule.h          \
+                       utils.h
diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
new file mode 100644 (file)
index 0000000..9fb010b
--- /dev/null
@@ -0,0 +1,7 @@
+SUBDIRS = netfilter
+noinst_HEADERS =       netfilter_arp.h         \
+                       netfilter_bridge.h      \
+                       netfilter_decnet.h      \
+                       netfilter.h             \
+                       netfilter_ipv4.h        \
+                       netfilter_ipv6.h
diff --git a/include/linux/netfilter/Makefile.am b/include/linux/netfilter/Makefile.am
new file mode 100644 (file)
index 0000000..54b59b5
--- /dev/null
@@ -0,0 +1,5 @@
+noinst_HEADERS =       nf_conntrack_common.h           \
+                       nf_conntrack_tuple_common.h     \
+                       nf_nat.h                        \
+                       nf_tables.h                     \
+                       nfnetlink.h
diff --git a/install-sh b/install-sh
deleted file mode 100755 (executable)
index d4744f0..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-#
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.  It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-       -c) instcmd="$cpprog"
-           shift
-           continue;;
-
-       -d) dir_arg=true
-           shift
-           continue;;
-
-       -m) chmodcmd="$chmodprog $2"
-           shift
-           shift
-           continue;;
-
-       -o) chowncmd="$chownprog $2"
-           shift
-           shift
-           continue;;
-
-       -g) chgrpcmd="$chgrpprog $2"
-           shift
-           shift
-           continue;;
-
-       -s) stripcmd="$stripprog"
-           shift
-           continue;;
-
-       -t=*) transformarg=`echo $1 | sed 's/-t=//'`
-           shift
-           continue;;
-
-       -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-           shift
-           continue;;
-
-       *)  if [ x"$src" = x ]
-           then
-               src=$1
-           else
-               # this colon is to work around a 386BSD /bin/sh bug
-               :
-               dst=$1
-           fi
-           shift
-           continue;;
-    esac
-done
-
-if [ x"$src" = x ]
-then
-       echo "install:  no input file specified"
-       exit 1
-else
-       true
-fi
-
-if [ x"$dir_arg" != x ]; then
-       dst=$src
-       src=""
-       
-       if [ -d $dst ]; then
-               instcmd=:
-               chmodcmd=""
-       else
-               instcmd=mkdir
-       fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad 
-# if $src (and thus $dsttmp) contains '*'.
-
-       if [ -f $src -o -d $src ]
-       then
-               true
-       else
-               echo "install:  $src does not exist"
-               exit 1
-       fi
-       
-       if [ x"$dst" = x ]
-       then
-               echo "install:  no destination specified"
-               exit 1
-       else
-               true
-       fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-       if [ -d $dst ]
-       then
-               dst="$dst"/`basename $src`
-       else
-               true
-       fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='   
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
-       pathcomp="${pathcomp}${1}"
-       shift
-
-       if [ ! -d "${pathcomp}" ] ;
-        then
-               $mkdirprog "${pathcomp}"
-       else
-               true
-       fi
-
-       pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
-       $doit $instcmd $dst &&
-
-       if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
-       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
-       if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
-       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
-       if [ x"$transformarg" = x ] 
-       then
-               dstfile=`basename $dst`
-       else
-               dstfile=`basename $dst $transformbasename | 
-                       sed $transformarg`$transformbasename
-       fi
-
-# don't allow the sed command to completely eliminate the filename
-
-       if [ x"$dstfile" = x ] 
-       then
-               dstfile=`basename $dst`
-       else
-               true
-       fi
-
-# Make a temp file name in the proper directory.
-
-       dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
-       $doit $instcmd $src $dsttmp &&
-
-       trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
-       if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
-       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
-       if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
-       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
-       $doit $rmcmd -f $dstdir/$dstfile &&
-       $doit $mvcmd $dsttmp $dstdir/$dstfile 
-
-fi &&
-
-
-exit 0
diff --git a/m4/.gitignore b/m4/.gitignore
new file mode 100644 (file)
index 0000000..8d0c756
--- /dev/null
@@ -0,0 +1,2 @@
+/lt*.m4
+/libtool.m4
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644 (file)
index 0000000..0a67810
--- /dev/null
@@ -0,0 +1,51 @@
+sbin_PROGRAMS = nft
+
+CLEANFILES = scanner.c parser_bison.c
+
+AM_CPPFLAGS = -I$(top_srcdir)/include
+AM_CPPFLAGS += -DDEFAULT_INCLUDE_PATH="\"${sysconfdir}\""
+               ${LIBMNL_CFLAGS} ${LIBNFTNL_CFLAGS}
+
+AM_CFLAGS = -Wall                                                              \
+           -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations     \
+           -Wdeclaration-after-statement -Wsign-compare -Winit-self            \
+           -Wformat-nonliteral -Wformat-security -Wmissing-format-attribute    \
+           -Wcast-align -Wundef -Wbad-function-cast
+           -Waggregate-return -Wunused -Wwrite-strings
+
+
+AM_YFLAGS = -d
+
+# yacc and lex generate dirty code
+parser_bison.o scanner.o: AM_CFLAGS += -Wno-missing-prototypes -Wno-missing-declarations -Wno-implicit-function-declaration -Wno-nested-externs -Wno-undef -Wno-redundant-decls
+
+BUILT_SOURCES = parser_bison.h
+
+nft_SOURCES =  main.c                          \
+               rule.c                          \
+               statement.c                     \
+               datatype.c                      \
+               expression.c                    \
+               evaluate.c                      \
+               proto.c                         \
+               payload.c                       \
+               exthdr.c                        \
+               meta.c                          \
+               ct.c                            \
+               netlink.c                       \
+               netlink_linearize.c             \
+               netlink_delinearize.c           \
+               segtree.c                       \
+               rbtree.c                        \
+               gmputil.c                       \
+               utils.c                         \
+               erec.c                          \
+               mnl.c                           \
+               scanner.l                       \
+               parser_bison.y
+
+if BUILD_CLI
+nft_SOURCES += cli.c
+endif
+
+nft_LDADD      = ${LIBMNL_LIBS} ${LIBNFTNL_LIBS}
diff --git a/src/Makefile.in b/src/Makefile.in
deleted file mode 100644 (file)
index 0c080f6..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-PROGRAMS               += nft
-
-nft-destdir            := @sbindir@
-
-nft-obj                        += main.o
-ifeq (@with_cli@,yes)
-nft-obj                        += cli.o
-endif
-nft-obj                        += rule.o
-nft-obj                        += statement.o
-nft-obj                        += datatype.o
-nft-obj                        += expression.o
-nft-obj                        += evaluate.o
-nft-obj                        += proto.o
-nft-obj                        += payload.o
-nft-obj                        += exthdr.o
-nft-obj                        += meta.o
-nft-obj                        += ct.o
-nft-obj                        += netlink.o
-nft-obj                        += netlink_linearize.o
-nft-obj                        += netlink_delinearize.o
-nft-obj                        += segtree.o
-nft-obj                        += rbtree.o
-nft-obj                        += gmputil.o
-nft-obj                        += utils.o
-nft-obj                        += erec.o
-nft-obj                        += mnl.o
-
-nft-obj                        += parser_bison.o
-nft-extra-clean-files  += parser_bison.c parser_bison.h
-
-nft-obj                        += scanner.o
-nft-extra-clean-files  += scanner.c scanner.h
index 6f2847b8e8d82cb56d0fd7d7422f09a65dacc7c5..f3827b8192bf386589b57a2494a54cb9b9a07f20 100644 (file)
--- a/src/cli.c
+++ b/src/cli.c
@@ -12,6 +12,7 @@
  * Development of this code funded by Astaro AG (http://www.astaro.com/)
  */
 
+#include <config.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <stdarg.h>
index 4930085f93c9bc4ee50f8a16f1084f2261fc58ad..82543e6ddb3fc3e2d04ff8cb887391b7cbb2d18e 100644 (file)
@@ -8,6 +8,7 @@
  * Development of this code funded by Astaro AG (http://www.astaro.com/)
  */
 
+#include <config.h>
 #include <stdio.h>
 #include <string.h>
 #include <stdarg.h>
index 85a1fb46976dd71574c7a433ee64c982f3d1107f..6eb0475e99de1f895ab2d76e3c24ebccd4c09131 100644 (file)
@@ -33,7 +33,6 @@
 #include <erec.h>
 
 #include "parser_bison.h"
-#include "scanner.h"
 
 void parser_init(struct parser_state *state, struct list_head *msgs)
 {
index 157c1e981b9e209d0a97b10f8057eebae0918280..f0ed8d4e253d99f26b45a3a26018350764240d97 100644 (file)
@@ -169,6 +169,7 @@ ip6addr             ({v680}|{v67}|{v66}|{v65}|{v64}|{v63}|{v62}|{v61}|{v60})
 addrstring     ({macaddr}|{ip4addr}|{ip6addr})
 
 %option prefix="nft_"
+%option outfile="lex.yy.c"
 %option reentrant
 %option noyywrap
 %option nounput