#!/bin/sh name="nlsop_server nlsop_client nlsop_gui" main="nlsop" #defaults prefix=/usr dfblib="" dfbinc="" apidir="" nodfb=0 echo $run_cmd usage() { echo "usage $0 " echo "options:" echo "--prefix=PREFIX specify install prefix" echo "--with-dfblib=DIR specify directfb lib dir" echo "--with-dfbinc=DIR specify directfb include dir" echo "--with-api=DIR specify api dir" echo } while [ "$1" ]; do case "`echo $1 | awk -F= '{ print $1 }'`" in --prefix) prefix=`echo $1 | awk -F= '{ print $2 }'`; shift;; --help) usage; shift 1;; --with-dfblib) dfblib=`echo $1 | awk -F= '{ print $2 }'`; shift;; --with-dfbinc) dfbinc=`echo $1 | awk -F= '{ print $2 }'`; shift;; --without-dfb) nodfb=1; shift ;; --with-api) apidir=`echo $1 | awk -F= '{ print $2 }'`; shift;; esac done echo "checking for api stuff ..." api_dir="0" if [ -z "$apidir" ]; then for i in ../api ../../api; do if [ -f $i/CHANGELOG ]; then api_dir=$i fi done else if [ -f $apidir/CHANGELOG ]; then api_dir=$apidir fi fi if [ "$api_dir" = "0" ]; then echo "api files not found ..." echo "WARNING: your build will fail." echo "please get the api files first (see README file)." api_dir="./" fi echo "checking for dfb stuff ..." dfb_inc_dir="0" if [ -z "$dfbinc" ]; then for i in /usr/include /usr/local/include; do if [ -d $i/directfb ]; then dfb_inc_dir=$i/directfb fi done else if [ -d $dfbinc/directfb ]; then dfb_inc_dir=$dfbinc/directfb fi fi if [ "$dfb_inc_dir" = "0" ]; then echo "dfb includes not found ..." nodfb=1 fi dfb_lib_dir="0" if [ -z "$dfblib" ]; then for i in /usr/lib /usr/local/lib; do if [ -f $i/libdirectfb.so ]; then dfb_lib_dir=$i fi done else if [ -f $dfblib/libdirectfb.so ]; then dfb_lib_dir=$dfblib fi fi if [ "$dfb_lib_dir" = "0" ]; then echo "dfb libs not found ..." nodfb=1 fi [ "$nodfb" = "0" ] && echo "directfb installation looks good :)" GENLIBS="-lm -lncurses" GENAPI="network.o event.o list.o display.o input.o" echo "creating Makefile" cat > Makefile << EOF # $main Makefile, created `date` INCLUDEDIR = /usr/include EOF if [ "$nodfb" = "0" ]; then cat >> Makefile << EOF CFLAGS = -DDEBUG -DUSE_DFB_API -DFONT=\"$prefix/share/$main/decker.ttf\" -O3 -Wall -I$dfb_inc_dir LIBS = -L$dfb_lib_dir -ldirectfb $GENLIBS OBJS = random.o dfbapi.o $GENAPI EOF else cat >> Makefile << EOF CFLAGS = -DDEBUG -DNODFB -O3 -Wall LIBS = -lm -lncurses OBJS = random.o $GENAPI EOF fi cat >> Makefile << EOF OBJS2 = $name links: EOF for i in $GENAPI; do foo="`echo $i | sed 's/\.o//g'`" cat >> Makefile << EOF ln -sf $api_dir/$foo/${foo}.{c,h} . EOF done for i in $name; do cat >> Makefile << EOF $i: links \$(OBJS) \$(CC) \$(CFLAGS) -o \$@ \$(OBJS) \$(LIBS) ${i}.c EOF done cat >> Makefile << EOF nlsop: links $name \$(CC) \$(CFLAGS) -o \$@ \$(OBJS) \$(LIBS) nlsop.c EOF cat >> Makefile << EOF all: $main clean: rm -f \$(OBJS) \$(OBJS2) remake: clean all install: mkdir -p $prefix/bin cp $name $prefix/bin mkdir -p $prefix/share/$main cp decker.ttf $prefix/share/$main chmod 644 $prefix/share/$main/decker.ttf EOF echo "done"