summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2013-07-29build: use VERSION_SHORT instead of VERSION_STRINGDaniel Borkmann1-2/+3
We have recently changed VERSION_STRING to append CONFIG_RC at the end of the string. Thus, for the build system, change it to VERSION_SHORT where needed, e.g. in release targets where the "+" appendix is not wished. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-24build: minor: align 'bold' cmd to the same column as 'normal'Daniel Borkmann1-1/+1
Just a minor whitespace alignment, nothing else. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-24build: add "+" version appendix automatically during buildDaniel Borkmann1-3/+3
For each build that has no tag name (thus for all commits except releases), we add a "+" version appendix to indicate that it is further than the rc tag itself, like in the kernel. Do this during configure automatically. This is useful in case someone wants to package a relase, so that the full version name indicates that. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-24build: split build system into smaller manageable piecesDaniel Borkmann1-225/+25
Split the build system into smaller manageable pieces, grouped by context. In that sense, we can keep the most important information within the Makefile itself, and group out misc bits and pieces that we just include into it. E.g. 'Cmds' contains all defined commands that we call from other locations, 'Template' contains the generic build template for all tools, 'Extra' has pieces that need special treatment for the tools to build and 'Misc' contains help and release code. This makes it more manageable on the long run. While at it, I also simplified some code and removed all Wflags expect "-Wall" as we want to convert into "-Wall -Wextra -W" anyway. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-23build: move trafgen_stddef.h to stddef.hDaniel Borkmann1-1/+1
Lets just move it instead of symlink as there is no concrete need for it. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-15configure: silent complaint if not built on git repositoryDaniel Borkmann1-1/+1
This silences a complaint if the toolkit is not built within a Git repository: ... [*] Checking libnet ... [YES] fatal: Not a git repository (or any of the parent directories): .git [*] Generating config.h ... [*] Looks good! All tools will be built! This is not problematic as the build can be done without any problems. It will just have an empty Git id in --version output. So simply silence this complaint and move on. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-15netsniff-ng 0.5.8-rc1v0.5.8-rc1Daniel Borkmann1-1/+1
Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-13make: put newline after Git peopleDaniel Borkmann1-1/+1
Place a newline after GIT_PEOPLE in the mail announcement target. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-13build: use git describe --alwaysDaniel Borkmann1-1/+1
Use git describe --always in the Makefile instead of git describe as it can fail otherwise. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11configure: Redirect pkg-config errors to log fileTobias Klauser1-0/+1
If pkg-config doesn't find a library it prints an error to stderr. Instead of directly printing them as part of the configure output, redirect them to config.log and let the user know about it in case there are any messages. Suggested-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-11build: refactor tool specific flags into <tool>/MakefileDaniel Borkmann1-9/+4
To get the normal Makefile a bit cleaner, push the tool specific build options into <tool>/Makefile. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11build: for an -rc release exclude curvetun for nowDaniel Borkmann1-2/+8
As curvetun needs to undergo some major cleanups, we exclude it from the main build process for the moment until we have fixed all of it in a non-rc release. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11make: help: consolidate <toolnames> to <tool>Daniel Borkmann1-4/+4
In some part of the help text, we speak about <toolnames> in some other <toolname>. Lets consolidate this to <tool> to avoid any possible confusion. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-09configure: fix multiple issues in build configurationDaniel Borkmann1-10/+1
This patch is a bundle of multiple fixes. 1) Fix compilation of astraceroute when HAVE_LIBPCAP=1: astraceroute doesn't need libpcap, so add an additional guard/define to bpf.h and bpf_comp.c and netsniff-ng.c. Also since we generate a config.h file, we do not need to have this additional compile flag anymore. 2) Fix tstamping.{h,c} to use the configure script instead of the Makefile. For doing this, also fix the object inclusion in netsniff-ng/Makefile. Last but not least, rename __WITH_... into HAVE_... as this is more clean. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-09configure: let configure script generate config.h fileDaniel Borkmann1-0/+1
While we're at it, also let configure script generate the config.h file. The generation of it is currently quite static, but that could change in future. While at it, we also generate a GITVERSION define, that we will use for ``--version'' output of the individual tools for being able to provide better support since we can see what concrete commit people are using when building from Git repo. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-08configure: netsniff-ng: libpcap is not a hard dependencyDaniel Borkmann1-1/+7
netsniff-ng uses libpcap only for high-level filter compiling. Thus, let netsniff-ng not "hard-depend" on libpcap, but rather disable filter compiling in case the user does not want to install libpcap. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-08configure: make: misc: update header commentDaniel Borkmann1-0/+1
Add a header comment to the configure script with Tobias as the primary author, and also mention Tobias as an author in the Makefile itself for his changes. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-08configure, Makefile: Conditionally build toolsTobias Klauser1-0/+1
Instead of halting out the entire build build if one dependency is not available, only exclude the tools that link against it from building. The configure script will now print a list of all tools that will be built -- and in case some libaries are not available -- that will not be built. Also add checks for libcli and libnet which mausezahn depends on. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-05Makefile, INSTALL: Simplify clean/uninstall Makefile targetsTobias Klauser1-20/+23
Streamline the Makfile targets by separating the clean targets (which only affect the build tree) from the uninstall targets (affecting files installed in the system). Do this by renaming the 'distclean' target to 'uninstall' and removing unnecessary aliases. The 'distclean' target serves now as a way to remove build files and Config. The 'mrproper' will bring the source into a pristine state as checked out from git. Summary of the new/changed targets: clean: remove all build related files (but not Config) distclean: 'make clean' + remove Config mrproper: remove all files not in git repository uninstall: remove all files installed by us from the system, but not affecting the build environment. %_uninstall: tool specific uninstall The following targets were removed: mostlyclean, realclean and clobber. Also the target names in the INSTALL file are adjusted. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-05configure, Makefile: Fail in Makefile if Config is not completeTobias Klauser1-1/+4
Define CONFIG_OK in the Config file generated in the configure script and check for it being defined in the Makefile before attempting anything else. This way we can better inform the user that she needs to run ./configure first. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-06-28configure: Check for presence of pkg-config and ccache binariesTobias Klauser1-1/+1
Check whether pkg-config and ccache are in the PATH. A missing pkg-config will cause the configure script to abort with an error. The presence of ccache is written to Config and used by the Makefile to conditionally make use of it. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-06-24configure: Add configure script used to detect NaClTobias Klauser1-0/+3
In order to use an installation of NaCl provided by the distro or by previous manual installation, provide a configure script which checks for nacl's presence. Also check of libnl-genl headers. More checks of the other libraries depended on by netsniff-ng as well as checks for necessary kernel headers should be added here too. The configure script is preliminary and has not yet extensively been tested on multiple systems. The concept was inspired by the configure script of trinity and iproute2. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-05-29make: add DISTRO=1 for compilation on distributionsDaniel Borkmann1-6/+9
For packaging, we cannot use -O3, -march etc, so have an option that allows for distribution build and does less tuning. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-05-29make: allow to append CFLAGS in addition to overwriteDaniel Borkmann1-19/+14
This is needed for distribution packaging purposes. Also remove the warning, because -I/-L paths for nacl could be defined via cmdline as well. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-05-26make: minor cleanups in MakefileDaniel Borkmann1-6/+14
Remove some unneeded stuff, and move other things around. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-05-24make: add HARDENING build optionDaniel Borkmann1-8/+17
Add HARDENING=1 build option and move all hardening-related GCC flags into this condition. This allows the user to choose whether or not he wants to have a hardened build with some possible performance tradeoff at load/runtime. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-05-24make: minor update in cflagsDaniel Borkmann1-4/+5
Add -z relro for linking, move --param ssp-buffer-size=4 to stack protector flag, and more. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-05-23make: include build nameDaniel Borkmann1-2/+3
Include long version string into tools when called with --version. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-05-14build: install man pagesDaniel Borkmann1-1/+6
Now that we have some man-pages, let them be installed via normal ``make install'' call. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-05-14build: remove some unused stuff and clean up a bitDaniel Borkmann1-13/+11
Remove some variables that are unused, but set. Also reorder and comment some other sections. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-05-13staging: add mausezahn staging directoryDaniel Borkmann1-2/+5
After some back and forth, we decided that it is easier to maintain mausezahn in a staging directory until it is fully reworked and cleaned up to be ready to be fully integrated. This way, it is better than having it in a separate branch, and we can also accept patches from outside more easily. Also, while at it, fix up some function mismatches with libcli. Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-05-10make: allow to overwrite CFLAGS, CCACHEDaniel Borkmann1-39/+43
Allow to define custom compile flags, e.g. ... make CFLAGS="-O2 -Wall" ... and also allow to overwrite ccache variable: make CCACHE= all Also do some minor fixes when built with -O2 -Wall. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-05-10docs: minor: fix mentioning of Documentation/Daniel Borkmann1-1/+1
The Documentation/ folder no longer exists. Either everything important can be found in the man pages or other documentation files. Fix the mentioning of Documentation/. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-05-10make: force to overwrite symlinkDaniel Borkmann1-1/+1
When doing to successive ``make install'' ln will throw an error that the symlink already exist, so simply force it to overwrite. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-05-05make: rename trafgen stddef.h fileDaniel Borkmann1-1/+2
Rename it to not confuse the build with header inclusions. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-05-05misc: move file to source rootDaniel Borkmann1-3/+3
Only have Makefile specific folders in the project root where the binaries are stored, the rest should be part of the repository root. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-04-11build: currently do not copy docs to shared docsDaniel Borkmann1-7/+0
Maybe in short term future, before the next release, we will think about putting the README file for users into DOCDIRE, since the rest is not really interesting for users, but probably only for developers. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-03-30make: also credit involved people in mail messageDaniel Borkmann1-0/+4
Still untested, since we did not yet tag a release, but for now, also credit all involved people in a particular release. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-03-30make: when mrproper, also remove Git tree unrelated filesDaniel Borkmann1-0/+2
When we really clean up everything, also remove crap files that do not belong to the Git tree. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-03-17nacl scripts: include common header and rename build_nacl.shDaniel Borkmann1-1/+1
Add a uniform header comment to the two scripts as present in other scripts in this repository as well. Also rename build_nacl.sh into nacl_build.sh to stay conform in naming. For this, also update all mentions of build_nacl.sh to nacl_build.sh. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-03-16build: respect PREFIX_STRING on config file locationsDaniel Borkmann1-0/+1
When setting a prefix from the build system, also pass this through the hard coded strings for config file locations in the toolkit, so that the installed files (which use PREFIX) can be properly found. Suggested-by: Peter Stuge <peter@stuge.se> Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-03-15build: minor: do announcement before taggingDaniel Borkmann1-1/+1
Do the announcement before the tagging is done, since we read out the last tag in creating the shortlog. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-03-15build: get latest release tag via git-describeDaniel Borkmann1-1/+1
To automatically create the shortlog for the .MAIL_MSG, we use git shortlog. However, we do not want to include old stuff, so let only commits pass that were between the previous release and now. (Untested for now, since there is no futher tag.) Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-03-15build: add make release targetDaniel Borkmann1-1/+20
It is useful to have as much as possible scripted, to be less error-prone and to have a uniform and simple workflow. Therefore, make the tagging, tarball and mail message in a uniform way. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-03-15build: Find libncurses by using pkg-configDaniel Borkmann1-0/+2
Call pkg-config --cflags and pkg-config --libs to find correct CFLAGS and LDFLAGS respectively. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-03-15netsniff-ng trafgen: Find libnl-3.0 and libnl-genl-3.0 using pkg-configPeter Stuge1-2/+2
Call pkg-config --cflags and pkg-config --libs to find correct CFLAGS and LDFLAGS respectively. Signed-off-by: Peter Stuge <peter@stuge.se> Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-03-15all: import netsniff-ng 0.5.8-rc0 sourceDaniel Borkmann1-0/+307
We decided to get rid of the old Git history and start a new one for several reasons: *) Allow / enforce only high-quality commits (which was not the case for many commits in the history), have a policy that is more close to the one from the Linux kernel. With high quality commits, we mean code that is logically split into commits and commit messages that are signed-off and have a proper subject and message body. We do not allow automatic Github merges anymore, since they are total bullshit. However, we will either cherry-pick your patches or pull them manually. *) The old archive was about ~27MB for no particular good reason. This basically derived from the bad decision that also some PDF files where stored there. From this moment onwards, no binary objects are allowed to be stored in this repository anymore. The old archive is not wiped away from the Internet. You will still be able to find it, e.g. on git.cryptoism.org etc. Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>