X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=Makefile.am;h=8c3ffd6dff864218ef54bf003d76b524fdd3fc36;hb=50e6c26f93f39d45600bf6e9b5f5c46d00abd363;hp=43cc42069da885a940fad08c6e8f275d8253c06f;hpb=ec8f0f0c24c96be434289ac18d6d064fad378827;p=cascardo%2Fovs.git diff --git a/Makefile.am b/Makefile.am index 43cc42069..8c3ffd6df 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -# Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc. +# Copyright (C) 2007-2016 Nicira, Inc. # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright @@ -19,6 +19,7 @@ AM_CPPFLAGS += -I $(top_srcdir)/datapath-windows/include AM_CPPFLAGS += $(PTHREAD_INCLUDES) AM_CPPFLAGS += $(MSVC_CFLAGS) AM_LDFLAGS += $(PTHREAD_LDFLAGS) +AM_LDFLAGS += $(MSVC64_LDFLAGS) endif AM_CPPFLAGS += -I $(top_srcdir)/include @@ -32,6 +33,10 @@ AM_CFLAGS = -Wstrict-prototypes AM_CFLAGS += $(WARNING_FLAGS) AM_CFLAGS += $(OVS_CFLAGS) +if DPDK_NETDEV +AM_CFLAGS += -D_FILE_OFFSET_BITS=64 +endif + if NDEBUG AM_CPPFLAGS += -DNDEBUG AM_CFLAGS += -fomit-frame-pointer @@ -47,13 +52,9 @@ endif # vSwitch, but it causes trouble if you switch from a version with # foo/__init__.py into an (older) version with plain foo.py, since # foo/__init__.pyc will cause Python to ignore foo.py. -if INCLUDE_PYTHON_COMPAT -run_python = PYTHONPATH=$(top_srcdir)/python$(psep)$(top_srcdir)/python/compat$(psep)$$PYTHONPATH -else -run_python = PYTHONPATH=$(top_srcdir)/python$(psep)$$PYTHONPATH -endif -run_python += PYTHONDONTWRITEBYTECODE=yes $(PYTHON) - +run_python = \ + PYTHONPATH=$(top_srcdir)/python$(psep)$$PYTHONPATH \ + PYTHONDONTWRITEBYTECODE=yes $(PYTHON) ALL_LOCAL = BUILT_SOURCES = @@ -61,42 +62,56 @@ CLEANFILES = CLEAN_LOCAL = DISTCLEANFILES = PYCOV_CLEAN_FILES = build-aux/check-structs,cover + +# A list of Markdown-formatted documentation that will automatically be +# included in the "make dist-docs" output. +docs = \ + CONTRIBUTING.md \ + CodingStyle.md \ + DESIGN.md \ + FAQ.md \ + INSTALL.md \ + INSTALL.Debian.md \ + INSTALL.Docker.md \ + INSTALL.DPDK.md \ + INSTALL.Fedora.md \ + INSTALL.KVM.md \ + INSTALL.Libvirt.md \ + INSTALL.NetBSD.md \ + INSTALL.RHEL.md \ + INSTALL.SELinux.md \ + INSTALL.SSL.md \ + INSTALL.XenServer.md \ + INSTALL.userspace.md \ + INSTALL.Windows.md \ + IntegrationGuide.md \ + MAINTAINERS.md \ + OPENFLOW-1.1+.md \ + PORTING.md \ + README.md \ + README-lisp.md \ + README-native-tunneling.md \ + REPORTING-BUGS.md \ + SECURITY.md \ + TODO.md \ + WHY-OVS.md EXTRA_DIST = \ - CONTRIBUTING \ - CodingStyle \ - DESIGN \ - FAQ \ - INSTALL \ - INSTALL.Debian \ - INSTALL.Docker \ - INSTALL.DPDK \ - INSTALL.Fedora \ - INSTALL.KVM \ - INSTALL.Libvirt \ - INSTALL.NetBSD \ - INSTALL.RHEL \ - INSTALL.SSL \ - INSTALL.XenServer \ - INSTALL.userspace \ - INSTALL.Windows \ - IntegrationGuide \ + $(docs) \ NOTICE \ - OPENFLOW-1.1+ \ - PORTING \ - README.md \ - README-lisp \ - REPORTING-BUGS \ - TODO \ .travis.yml \ .travis/build.sh \ .travis/prepare.sh \ - WHY-OVS \ + appveyor.yml \ boot.sh \ build-aux/cccl \ + build-aux/cksum-schema-check \ + build-aux/dist-docs \ build-aux/sodepends.pl \ build-aux/soexpand.pl \ + build-aux/xml2nroff \ $(MAN_FRAGMENTS) \ - $(MAN_ROOTS) + $(MAN_ROOTS) \ + Vagrantfile bin_PROGRAMS = sbin_PROGRAMS = bin_SCRIPTS = @@ -122,11 +137,17 @@ OVSIDL_BUILT = pkgdata_DATA = sbin_SCRIPTS = scripts_SCRIPTS = +completion_SCRIPTS = scripts_DATA = SUFFIXES = check_DATA = +check_SCRIPTS = +pkgconfig_DATA = +FLAKE8_PYFILES = scriptsdir = $(pkgdatadir)/scripts +completiondir = $(sysconfdir)/bash_completion.d +pkgconfigdir = $(libdir)/pkgconfig # This ensures that files added to EXTRA_DIST are always distributed, # even if they are inside an Automake if...endif conditional block that is @@ -153,6 +174,7 @@ SUFFIXES += .in -e 's,[@]sysconfdir[@],$(sysconfdir),g' \ -e 's,[@]bindir[@],$(bindir),g' \ -e 's,[@]sbindir[@],$(sbindir),g' \ + -e 's,[@]abs_builddir[@],$(abs_builddir),g' \ -e 's,[@]abs_top_srcdir[@],$(abs_top_srcdir),g' \ > $@.tmp @if head -n 1 $@.tmp | grep '#!' > /dev/null; then \ @@ -160,6 +182,25 @@ SUFFIXES += .in fi $(AM_V_at) mv $@.tmp $@ +SUFFIXES += .xml +%: %.xml + $(AM_V_GEN)$(run_python) $(srcdir)/build-aux/xml2nroff $< > $@.tmp \ + -I $(srcdir) \ + --version=$(VERSION) \ + PKIDIR='$(PKIDIR)' \ + LOGDIR='$(LOGDIR)' \ + DBDIR='$(DBDIR)' \ + PERL='$(PERL)' \ + PYTHON='$(PYTHON)' \ + RUNDIR='$(RUNDIR)' \ + VERSION='$(VERSION)' \ + localstatedir='$(localstatedir)' \ + pkgdatadir='$(pkgdatadir)' \ + sysconfdir='$(sysconfdir)' \ + bindir='$(bindir)' \ + sbindir='$(sbindir)' + $(AM_v_at)mv $@.tmp $@ + .PHONY: clean-pycov clean-pycov: cd $(srcdir) && rm -f $(PYCOV_CLEAN_FILES) @@ -182,7 +223,7 @@ dist-hook-git: distfiles LC_ALL=C sort -u > all-gitfiles; \ LC_ALL=C comm -1 -3 all-distfiles all-gitfiles > missing-distfiles; \ if test -s missing-distfiles; then \ - echo "The distribution is missing the following files:"; \ + echo "The following files are in git but not the distribution:"; \ cat missing-distfiles; \ exit 1; \ fi; \ @@ -225,7 +266,7 @@ printf-check: then \ echo "See above for list of violations of the rule that"; \ echo "'z', 't', 'j', 'hh' printf() type modifiers are"; \ - echo "forbidden. See CodingStyle for replacements."; \ + echo "forbidden. See CodingStyle.md for replacements."; \ exit 1; \ fi .PHONY: printf-check @@ -255,6 +296,23 @@ check-assert-h-usage: fi .PHONY: check-assert-h-usage +# Check that LITTLE_ENDIAN and BIG_ENDIAN are not used unless BYTE_ORDER is +# also mentioned. ( always defines the former two constants. They +# must be compared to BYTE_ORDER to get the machine's correct endianness. But +# it is better to use WORDS_BIGENDIAN.) +ALL_LOCAL += check-endian +check-endian: + @if test -e $(srcdir)/.git && (git --version) >/dev/null 2>&1 && \ + (cd $(srcdir) && git --no-pager grep -l -E \ + -e 'BIG_ENDIAN|LITTLE_ENDIAN' --and --not -e 'BYTE_ORDER' | \ + $(EGREP) -v '^datapath/'); \ + then \ + echo "See above for list of files that misuse LITTLE""_ENDIAN"; \ + echo "or BIG""_ENDIAN. Please use WORDS_BIGENDIAN instead."; \ + exit 1; \ + fi +.PHONY: check-endian + ALL_LOCAL += thread-safety-check thread-safety-check: @cd $(srcdir); \ @@ -269,6 +327,7 @@ thread-safety-check: exit 1; \ fi EXTRA_DIST += build-aux/thread-safety-blacklist +.PHONY: thread-safety-check if HAVE_GROFF ALL_LOCAL += manpage-check @@ -284,6 +343,36 @@ manpage-check: $(man_MANS) $(dist_man_MANS) $(noinst_man_MANS) CLEANFILES += manpage-check endif +if HAVE_FLAKE8 +ALL_LOCAL += flake8-check +# http://flake8.readthedocs.org/en/latest/warnings.html +# All warnings explicitly selected or ignored should be listed below. +# +# E***, W*** -- warnings from pep8 +# E121 continuation line under-indented for hanging indent (only from flake8 v2.0) +# E123 closing bracket does not match indentation of opening bracket's line +# E125 continuation line with same indent as next logical line (only from flake8 v2.0) +# E126 continuation line over-indented for hanging indent +# E127 continuation line over-indented for visual indent +# E128 continuation line under-indented for visual indent +# E129 visually indented line with same indent as next logical line +# E131 continuation line unaligned for hanging indent +# W503 line break before binary operator +# F*** -- warnings native to flake8 +# F811 redefinition of unused from line (only from flake8 v2.0) +# D*** -- warnings from flake8-docstrings plugin +# H*** -- warnings from flake8 hacking plugin (custom style checks beyond PEP8) +# H231 Python 3.x incompatible 'except x,y:' construct +# H232 Python 3.x incompatible octal 077 should be written as 0o77 +# H233 Python 3.x incompatible use of print operator +# H238 old style class declaration, use new style (inherit from `object`) +flake8-check: $(FLAKE8_PYFILES) + $(AM_V_GEN) if flake8 $^ --select=H231,H232,H233,H238 ${FLAKE8_FLAGS} && \ + flake8 $^ --ignore=E121,E123,E125,E126,E127,E128,E129,E131,W503,F811,D,H ${FLAKE8_FLAGS}; then \ + touch $@; else exit 1; fi +endif +CLEANFILES += flake8-check + include $(srcdir)/manpages.mk $(srcdir)/manpages.mk: $(MAN_ROOTS) build-aux/sodepends.pl @$(PERL) $(srcdir)/build-aux/sodepends.pl -I. -I$(srcdir) $(MAN_ROOTS) >$(@F).tmp @@ -296,14 +385,17 @@ $(srcdir)/manpages.mk: $(MAN_ROOTS) build-aux/sodepends.pl CLEANFILES += manpage-dep-check if VSTUDIO_DDK -ALL_LOCAL += ovsext_make -ovsext_make: datapath-windows/ovsext.sln - MSBuild.exe datapath-windows/ovsext.sln /target:Build /property:Configuration="$(VSTUDIO_CONFIG)" +ALL_LOCAL += ovsext +ovsext: datapath-windows/ovsext.sln $(srcdir)/datapath-windows/include/OvsDpInterface.h + MSBuild.exe //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win8$(VSTUDIO_CONFIG)" + MSBuild.exe //maxcpucount datapath-windows/ovsext.sln /target:Build /property:Configuration="Win8.1$(VSTUDIO_CONFIG)" CLEAN_LOCAL += ovsext_clean ovsext_clean: datapath-windows/ovsext.sln - MSBuild.exe datapath-windows/ovsext.sln /target:Clean /property:Configuration="$(VSTUDIO_CONFIG)" + MSBuild.exe //maxcpucount datapath-windows/ovsext.sln /target:Clean /property:Configuration="Win8$(VSTUDIO_CONFIG)" + MSBuild.exe //maxcpucount datapath-windows/ovsext.sln /target:Clean /property:Configuration="Win8.1$(VSTUDIO_CONFIG)" endif +.PHONY: ovsext dist-hook: $(DIST_HOOKS) all-local: $(ALL_LOCAL) @@ -317,6 +409,11 @@ if LINUX_ENABLED cd datapath/linux && $(MAKE) modules_install endif +dist-docs: + VERSION=$(VERSION) MAKE='$(MAKE)' $(srcdir)/build-aux/dist-docs $(srcdir) $(docs) +.PHONY: dist-docs + +include Documentation/automake.mk include m4/automake.mk include lib/automake.mk include ofproto/automake.mk @@ -330,8 +427,10 @@ include ovsdb/automake.mk include rhel/automake.mk include xenserver/automake.mk include python/automake.mk -include python/compat/automake.mk include tutorial/automake.mk include vtep/automake.mk include datapath-windows/automake.mk include datapath-windows/include/automake.mk +include windows/automake.mk +include ovn/automake.mk +include selinux/automake.mk