configure file checkin
[my-code/hdw-sniff.git] / configure
1 #!/bin/sh
2
3 name="hdw-sniff"
4
5 #defaults
6 prefix=/usr
7 apidir=""
8
9 usage() {
10         echo "usage $0 <options>"
11         echo "options:"
12         echo "--prefix=PREFIX   specify install prefix"
13         echo "--with-api=DIR    specify api dir"
14         echo
15         }
16
17 while [ "$1" ]; do
18         case "`echo $1 | awk -F= '{ print $1 }'`" in
19                 --prefix)       prefix=`echo $1 | awk -F= '{ print $2 }'`; shift;;
20                 --help)         usage; shift 1;;
21                 --with-api)     apidir=`echo $1 | awk -F= '{ print $2 }'`; shift;;
22         esac
23 done
24
25 echo "checking for api stuff ..."
26 api_dir="0"
27 if [ -z "$apidir" ]; then
28         for i in ../api ../../api; do
29                 if [ -f $i/CHANGELOG ]; then
30                         api_dir=$i
31                 fi
32         done
33 else
34         if [ -f $apidir/CHANGELOG ]; then
35                 api_dir=$apidir
36         fi
37 fi
38 if [ "$api_dir" = "0" ]; then
39         echo "api files not found ..."
40         echo "WARNING: your build will fail."
41         echo "please get the api files first (see README file)."
42         api_dir="./"
43 fi
44
45 GENLIBS="-lm -lncurses -lpcap"
46 GENAPI="network.o event.o list.o display.o input.o"
47 SRC="main.c parse.c"
48
49 echo "creating Makefile"
50
51 cat > Makefile << EOF
52 # $name Makefile, created `date`
53
54 INCLUDEDIR = /usr/include
55 CFLAGS = -DDEBUG -O3 -Wall
56 LIBS = $GENLIBS
57
58 OBJS = $GENAPI
59 OBJS2 = $name
60
61 links:
62 EOF
63
64 for i in $GENAPI; do
65         foo="`echo $i | sed 's/\.o//g'`"
66         cat >> Makefile << EOF
67         ln -sf $api_dir/$foo/${foo}.{c,h} .
68 EOF
69 done
70
71 for i in $name; do
72 cat >> Makefile << EOF
73
74 $i: links \$(OBJS)
75         \$(CC) \$(CFLAGS) -o \$@ \$(OBJS) $SRC \$(LIBS)
76
77 EOF
78 done
79
80 cat >> Makefile << EOF
81 all: $name
82
83 clean:
84         rm -f \$(OBJS) \$(OBJS2)
85
86 remake: clean all
87
88 install:
89         mkdir -p $prefix/bin
90         cp $name $prefix/bin
91 EOF
92
93 echo "done"