all: fix build on CentOS 6 by checking presence of several macros
[netsniff-ng-new.git] / Misc
blobc65c26b7c06560fd2171244a42a932e4b7aef89f
1 nacl:
2         $(Q)echo "$(bold)$(WHAT) $@:$(normal)"
3         $(Q)cd curvetun/ && source ./nacl_build.sh ~/nacl
4         $(Q)source ~/.bashrc
6 tarball.gz:  ; $(call GIT_ARCHIVE,gzip,gz)
7 tarball.bz2: ; $(call GIT_ARCHIVE,bzip2,bz2)
8 tarball.xz:  ; $(call GIT_ARCHIVE,xz,xz)
9 tarball: tarball.gz tarball.bz2 tarball.xz
11 tag:
12         $(GIT_TAG)
14 people:
15         $(GIT_PEOPLE)
17 log:
18         $(GIT_LOG)
20 announcement:
21         $(Q)echo -e "   *** BLURB HERE (general bits, optional) ***\n\n---\n" > .MAIL_MSG
22         $(Q)echo -e "netsniff-ng $(VERSION_SHORT) ($(NAME)) has been released to the public.\n" >> .MAIL_MSG
23         $(Q)echo -e "It can be fetched via Git:\n" >> .MAIL_MSG
24         $(Q)echo -e "   git clone git://github.com/netsniff-ng/netsniff-ng.git" >> .MAIL_MSG
25         $(Q)echo -e "   git checkout v$(VERSION_SHORT)\n" >> .MAIL_MSG
26         $(Q)echo -e "Or via HTTP from one of our mirrors:\n" >> .MAIL_MSG
27         $(Q)echo -e "   http://pub.netsniff-ng.org/netsniff-ng/netsniff-ng-$(VERSION_SHORT).tar.gz" >> .MAIL_MSG
28         $(Q)echo -e "   http://mirror.distanz.ch/netsniff-ng/netsniff-ng-$(VERSION_SHORT).tar.gz" >> .MAIL_MSG
29         $(Q)echo -e "   http://github.com/netsniff-ng/netsniff-ng/archive/v$(VERSION_SHORT).tar.gz\n" >> .MAIL_MSG
30         $(Q)echo -e "The release can be verified via Git (see README):\n" >> .MAIL_MSG
31         $(Q)echo -e "   git tag -v v$(VERSION_SHORT)\n" >> .MAIL_MSG
32         $(Q)echo -e "Major high-level changes since the last release ($(shell $(GIT_LAST_TAG))) are:\n" >> .MAIL_MSG
33         $(Q)echo -e "   *** BLURB HERE (specific bits) ***\n" >> .MAIL_MSG
34         $(Q)echo -e "Contributions since last release:\n" >> .MAIL_MSG
35         $(GIT_PEOPLE) >> .MAIL_MSG
36         $(Q)echo -e "\nGit changelog since last release:\n" >> .MAIL_MSG
37         $(GIT_LOG) >> .MAIL_MSG
39 sign:
40         $(call GPG_SIGN,gz)
41         $(call GPG_SIGN,bz2)
42         $(call GPG_SIGN,xz)
44 release: tag announcement tarball sign
45         $(Q)echo "Released $(bold)$(VERSION_SHORT)$(normal)"
47 FIND_SOURCE_FILES = ( git ls-files '*.[hcS]' 2>/dev/null || \
48                         find . \( -name .git -type d -prune \) \
49                                 -o \( -name '*.[hcS]' -type f -print \) )
51 tags ctags:
52         $(Q)$(call RM,tags)
53         $(FIND_SOURCE_FILES) | xargs ctags -a
55 cscope:
56         $(Q)$(call RM,cscope*)
57         $(FIND_SOURCE_FILES) | xargs cscope -b
59 COV_URL = "https://scan.coverity.com/builds?project=netsniff-ng"
60 # these need to be specified on the command line
61 COV_EMAIL =
62 COV_PASSWD =
64 coverity:
65         $(Q)test -n "$(COV_EMAIL)" || (echo "COV_EMAIL not set" && false)
66         $(Q)test -n "$(COV_PASSWD)" || (echo "COV_PASSWD not set" && false)
67         $(Q)$(MAKE) distclean
68         $(Q)$(call RM,cov-int)
69         $(Q)$(call MKDIR,cov-int)
70         $(Q)./configure
71         $(Q)cov-build --dir cov-int $(MAKE)
72         $(Q)tar czvf netsniff-ng-coverity.tgz cov-int
73         $(Q)echo "Uploading snapshot to Coverity scanner at $(COV_URL)"
74         $(Q)curl --form project=netsniff-ng \
75                 --form file=@netsniff-ng-coverity.tgz \
76                 --form token=$(COV_PASSWD) \
77                 --form email=$(COV_EMAIL) \
78                 --form version=`$(GIT_VERSION)` \
79                 --form description="netsniff-ng snapshot" $(COV_URL)
81 help:
82         $(Q)echo "$(bold)Available tools from the toolkit:$(normal)"
83         $(Q)echo " <tool>:={$(TOOLS)}"
84         $(Q)echo "$(bold)Targets for building the toolkit:$(normal)"
85         $(Q)echo " all|toolkit                  - Build the whole toolkit"
86         $(Q)echo " allbutcurvetun               - Build all except curvetun"
87         $(Q)echo " allbutmausezahn              - Build all except mausezahn"
88         $(Q)echo " <tool>                       - Build only one of the tools"
89         $(Q)echo "$(bold)Targets for cleaning the toolkit's build files:$(normal)"
90         $(Q)echo " clean                        - Remove all build files"
91         $(Q)echo " <tool>_clean                 - Remove only one of the tool's files"
92         $(Q)echo " distclean                    - Remove all build and build config files"
93         $(Q)echo " mrproper                     - Remove all files not in source distribution"
94         $(Q)echo "$(bold)Targets for installing the toolkit:$(normal)"
95         $(Q)echo " install                      - Install the whole toolkit"
96         $(Q)echo " <tool>_install               - Install only one of the tools"
97         $(Q)echo "$(bold)Targets for removing the toolkit:$(normal)"
98         $(Q)echo " uninstall                    - Remove the whole toolkit from the system"
99         $(Q)echo " <toolname>_uninstall         - Remove only one of the tools"
100         $(Q)echo "$(bold)Hacking/development targets:$(normal)"
101         $(Q)echo " tag                          - Generate Git tag of current version"
102         $(Q)echo " tarball                      - Generate tarball of latest version"
103         $(Q)echo " release                      - Generate a new release"
104         $(Q)echo " tags                         - Generate sparse ctags"
105         $(Q)echo " cscope                       - Generate cscope files"
106         $(Q)echo "$(bold)Misc targets:$(normal)"
107         $(Q)echo " nacl                         - Execute the build_nacl script"
108         $(Q)echo " help                         - Show this help"
109         $(Q)echo "$(bold)Available parameters:$(normal)"
110         $(Q)echo " DEBUG=1                      - Enable debugging"
111         $(Q)echo " HARDENING=1                  - Enable GCC hardening of executables"
112         $(Q)echo " PREFIX=/path                 - Install path prefix"
113         $(Q)echo " DESTDIR=/path                - Alternative install destination path"
114         $(Q)echo " CC=cgcc                      - Use sparse compiler wrapper"
115         $(Q)echo " CFLAGS=\"-O2 -Wall ...\"       - Overwrite CFLAGS for compilation"
116         $(Q)echo " CPPFLAGS=\"-I <path> ...\"     - Additional CFLAGS for compilation"
117         $(Q)echo " LDFLAGS=\"-L <path> ...\"      - Additional LDFLAGS for compilation"
118         $(Q)echo " CCACHE=ccache                - Use ccache for compilation"
119         $(Q)echo " C=1                          - Check all C source files with sparse"
120         $(Q)echo " Q=                           - Show verbose garbage"