In GNU’s Make manual, there’s a description of how to use one Makefile to call targets of another Makefile. You have to use $(MAKE) in order for it to work properly. I’ve found one little snag that’s not mentioned. If my target name is the same as the directory name where the other Makefile is, it will never work. It always says it’s up to date! If I change the target name, it works fine.
You have a bunch of related applications, each has their own Makefile that knows only about their own application, but you have dependencies where one app needs to be built before another. Here’s a skeleton bash script for building any one thing or everything.
#!/bin/bash
function build {
echo "*** …
Proxytunnel is a program that connects stdin and stdout to a server somewhere on the network, through a standard HTTPS proxy. Getting it built seems to be pretty straight forward stuff.
Find the package(s) missing using YUM. It’s as easy as asking it what provides the missing files. In this case I can see from the last line which file it’s looking for but can’t find. Cut and paste the full path to the file and use it as the argument to “sudo yum whatprovides”, and it will tell you which packages include that file.
I found the easiest way to get all the dependencies out of the way was to attempt to install Fedora’s oprofile, oprofile-devel, and oprofile-gui through YUM. But instead of installing them, just find out their dependencies and install those.
Install Bro - Network-based Intrusion Detection, on Fedora or Ubuntu. Bro will get installed in /usr/local/bro/ by default, unless you specified a prefix in configure as I did. I also created a bro user and group to own everything and did the make as that bro user.
shc is the only tool i’ve found that will compile scripts so idle hands won’t tamper with your bash shell scripts. Yes, I know I could just use permissions to keep people from reading them and it’s easy to reverse engineer the binary code, but I look at it like …
According to gnu.org, “Installation directories should always be named by variables, so it is easy to install in a nonstandard place. The standard names for these variables and the values they should have in GNU packages are described below. They are based on a standard filesystem layout; variants …