X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=Makefile.am;h=8bc431bfc5b1cf3010ffba4af2e7dfa76eef371b;hb=dd92c6165ddb53922562c43fdcc8845dc4bb435a;hp=340b12dbe6d779713abb647575ceaca1e56a2ae2;hpb=cf06c2e944306a0bfa37813882d2b59dc6122b09;p=cascardo%2Fovs.git diff --git a/Makefile.am b/Makefile.am index 340b12dbe..8bc431bfc 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-2015 Nicira, Inc. # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright @@ -11,19 +11,30 @@ SUBDIRS = datapath AM_CPPFLAGS = $(SSL_CFLAGS) AM_LDFLAGS = $(SSL_LDFLAGS) +AM_LDFLAGS += $(OVS_LDFLAGS) if WIN32 AM_CPPFLAGS += -I $(top_srcdir)/include/windows +AM_CPPFLAGS += -I $(top_srcdir)/datapath-windows/include +AM_CPPFLAGS += $(PTHREAD_INCLUDES) +AM_CPPFLAGS += $(MSVC_CFLAGS) +AM_LDFLAGS += $(PTHREAD_LDFLAGS) endif -AM_CPPFLAGS += $(SSL_INCLUDES) - AM_CPPFLAGS += -I $(top_srcdir)/include +AM_CPPFLAGS += -I $(top_builddir)/include AM_CPPFLAGS += -I $(top_srcdir)/lib AM_CPPFLAGS += -I $(top_builddir)/lib +AM_CPPFLAGS += $(SSL_INCLUDES) + 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 @@ -54,37 +65,53 @@ 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 = \ + appveyor.yml \ + 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.SSL.md \ + INSTALL.XenServer.md \ + INSTALL.userspace.md \ + INSTALL.Windows.md \ + IntegrationGuide.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 = \ - BUILD.Windows \ - CodingStyle \ - DESIGN \ - FAQ \ - INSTALL \ - INSTALL.Debian \ - INSTALL.Fedora \ - INSTALL.KVM \ - INSTALL.Libvirt \ - INSTALL.NetBSD \ - INSTALL.RHEL \ - INSTALL.SSL \ - INSTALL.XenServer \ - INSTALL.userspace \ - IntegrationGuide \ + $(docs) \ NOTICE \ - OPENFLOW-1.1+ \ - PORTING \ - README-OFTest \ - README-gcov \ - README-lisp \ - REPORTING-BUGS \ - SubmittingPatches \ - WHY-OVS \ + .travis.yml \ + .travis/build.sh \ + .travis/prepare.sh \ boot.sh \ build-aux/cccl \ + 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 = @@ -110,11 +137,16 @@ OVSIDL_BUILT = pkgdata_DATA = sbin_SCRIPTS = scripts_SCRIPTS = +completion_SCRIPTS = scripts_DATA = SUFFIXES = check_DATA = +check_SCRIPTS = +pkgconfig_DATA = 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 @@ -127,7 +159,7 @@ ro_shell = printf '\043 Generated automatically -- do not modify! -*- buffer- SUFFIXES += .in .in: - $(PERL) $(srcdir)/build-aux/soexpand.pl -I$(srcdir) < $< | \ + $(AM_V_GEN)$(PERL) $(srcdir)/build-aux/soexpand.pl -I$(srcdir) < $< | \ sed \ -e 's,[@]PKIDIR[@],$(PKIDIR),g' \ -e 's,[@]LOGDIR[@],$(LOGDIR),g' \ @@ -146,7 +178,7 @@ SUFFIXES += .in @if head -n 1 $@.tmp | grep '#!' > /dev/null; then \ chmod +x $@.tmp; \ fi - $(AM_V_GEN) mv $@.tmp $@ + $(AM_V_at) mv $@.tmp $@ .PHONY: clean-pycov clean-pycov: @@ -170,7 +202,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; \ @@ -195,7 +227,7 @@ config-h-check: @cd $(srcdir); \ if test -e .git && (git --version) >/dev/null 2>&1 && \ git --no-pager grep -L '#include ' `git ls-files | grep '\.c$$' | \ - grep -vE '^datapath|^lib/sflow|^third-party'`; \ + grep -vE '^datapath|^lib/sflow|^third-party|^datapath-windows'`; \ then \ echo "See above for list of violations of the rule that"; \ echo "every C source file must #include ."; \ @@ -206,12 +238,14 @@ config-h-check: # Check for printf() type modifiers that MSVC doesn't support. ALL_LOCAL += printf-check printf-check: - @if test -e $(srcdir)/.git && (git --version) >/dev/null 2>&1 && \ - git --no-pager grep -n -E -e '%[-+ #0-9.*]*([ztj]|hh)' --and --not -e 'ovs_scan' `git ls-files $(srcdir) | grep '\.[ch]$$'`; \ + @cd $(srcdir); \ + if test -e .git && (git --version) >/dev/null 2>&1 && \ + git --no-pager grep -n -E -e '%[-+ #0-9.*]*([ztj]|hh)' --and --not -e 'ovs_scan' `git ls-files | grep '\.[ch]$$' | \ + grep -vE '^datapath|^lib/sflow|^third-party'`; \ 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 @@ -241,12 +275,30 @@ 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: - @if test -e '$(srcdir)'/.git && (git --version) >/dev/null 2>&1 && \ - grep -n -f '$(srcdir)'/build-aux/thread-safety-blacklist \ - `git ls-files '$(srcdir)' | grep '\.[ch]$$' \ - | $(EGREP) -v '^datapath|^lib/sflow|^third-party'` \ + @cd $(srcdir); \ + if test -e .git && (git --version) >/dev/null 2>&1 && \ + grep -n -f build-aux/thread-safety-blacklist \ + `git ls-files | grep '\.[ch]$$' \ + | $(EGREP) -v '^datapath|^lib/sflow|^third-party'` /dev/null \ | $(EGREP) -v ':[ ]*/?\*'; \ then \ echo "See above for list of calls to functions that are"; \ @@ -280,6 +332,16 @@ $(srcdir)/manpages.mk: $(MAN_ROOTS) build-aux/sodepends.pl fi 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)" + +CLEAN_LOCAL += ovsext_clean +ovsext_clean: datapath-windows/ovsext.sln + MSBuild.exe datapath-windows/ovsext.sln /target:Clean /property:Configuration="$(VSTUDIO_CONFIG)" +endif + dist-hook: $(DIST_HOOKS) all-local: $(ALL_LOCAL) clean-local: $(CLEAN_LOCAL) @@ -292,6 +354,11 @@ if LINUX_ENABLED cd datapath/linux && $(MAKE) modules_install endif +dist-docs: + VERSION=$(VERSION) $(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 @@ -308,3 +375,5 @@ 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