Commit 241132a3 authored by Timothy Stack's avatar Timothy Stack

Some cleanup of the robot vision system:

	* Makeconf.in: Add INSTALL_INCDIR for includes, EVENTSYS for
	whether or not the event system is available, HAVE_MEZZANINE for
	whether or not we'll be building mezzanine, and GTK_CONFIG which
	refers to the gtk-config binary, if there is one.

	* config.h.in: Add HAVE_LINUX_VIDEODEV_H and HAVE_MEZZANINE
	defines.

	* configure, configure.in: Check for the robot vision system
	dependencies.  Add mezzanine template files.

	* robots/GNUmakefile.in: Add some conditionals for directories
	that depend on the event-system and mezzanine.

	* robots/mezzanine/GNUmakefile.in,
	robots/mezzanine/libfg/GNUmakefile.in,
	robots/mezzanine/libmezz/GNUmakefile.in,
	robots/mezzanine/mezzanine/GNUmakefile.in,
	robots/mezzanine/mezzcal/GNUmakefile.in,
	robots/mezzanine/rtk2/GNUmakefile.in: Fold mezzanine into the
	testbed's build system.

	* robots/vmcd/GNUmakefile.in: When building the vmc-client, use
	the mezzanine that we build locally instead of an installed
	version.

	* robots/vmcd/test_vmc-client.sh.in, robots/vmcd/test_vmcd.sh.in,
	robots/vmcd/test_vmcd2.sh, robots/vmcd/test_vmcd3.sh,
	robots/vmcd/test_vmcd4.sh: Bring the test cases up-to-date with
	respect to the actual code.

	* robots/vmcd/vmc-client.c: A bunch of cleanups and bug fixes: add
	comments, set TCP_NODELAY on the client sockets (doh), etc...
parent 88c6ec32
......@@ -43,6 +43,7 @@ INSTALL_BINDIR = @bindir@
INSTALL_SBINDIR = @sbindir@
INSTALL_LIBEXECDIR = @libexecdir@
INSTALL_ETCDIR = @sysconfdir@
INSTALL_INCDIR = @includedir@
INSTALL_WWWDIR = @exec_prefix@/www
INSTALL_RCDIR = @INSTALL_RCDIR@
INSTALL_APACHE_CONFIG = @INSTALL_APACHE_CONFIG@
......@@ -57,3 +58,7 @@ CLIENT_VARDIR = @CLIENT_VARDIR@
CLIENT_MANDIR = @CLIENT_MANDIR@
LOG_TESTBED = @LOG_TESTBED@
EVENTSYS = @EVENTSYS@
HAVE_MEZZANINE = @HAVE_MEZZANINE@
GTK_CONFIG = @GTK_CONFIG@
......@@ -23,3 +23,5 @@
#undef LOG_TESTBED
#undef EVENTSERVER
#undef BOSSEVENTPORT
#undef HAVE_LINUX_VIDEODEV_H
#undef HAVE_MEZZANINE
......@@ -897,6 +897,7 @@ fi
#
......@@ -1366,6 +1367,174 @@ else
fi
#
# Check for the robot vision system dependencies.
#
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
echo "configure:1375: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# This must be in double quotes, not single quotes, because CPP may get
# substituted into the Makefile and "${CC-cc}" will confuse make.
CPP="${CC-cc} -E"
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
#line 1390 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1396: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
else
echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
#line 1407 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1413: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
else
echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
#line 1424 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1430: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
else
echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
CPP=/lib/cpp
fi
rm -f conftest*
fi
rm -f conftest*
fi
rm -f conftest*
ac_cv_prog_CPP="$CPP"
fi
CPP="$ac_cv_prog_CPP"
else
ac_cv_prog_CPP="$CPP"
fi
echo "$ac_t""$CPP" 1>&6
for ac_hdr in linux/videodev.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:1458: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1463 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1468: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
eval "ac_cv_header_$ac_safe=yes"
else
echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_header_$ac_safe=no"
fi
rm -f conftest*
fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
cat >> confdefs.h <<EOF
#define $ac_tr_hdr 1
EOF
cat >> confdefs.h <<\EOF
#define HAVE_LINUX_VIDEODEV_H 1
EOF
HAVE_LINUX_VIDEODEV_H="yes"
else
echo "$ac_t""no" 1>&6
fi
done
# Extract the first word of "gtk-config", so it can be a program name with args.
set dummy gtk-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1501: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_GTK_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$GTK_CONFIG"; then
ac_cv_prog_GTK_CONFIG="$GTK_CONFIG" # Let the user override the test.
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy="$PATH"
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_GTK_CONFIG="gtk-config"
break
fi
done
IFS="$ac_save_ifs"
fi
fi
GTK_CONFIG="$ac_cv_prog_GTK_CONFIG"
if test -n "$GTK_CONFIG"; then
echo "$ac_t""$GTK_CONFIG" 1>&6
else
echo "$ac_t""no" 1>&6
fi
if test x"$HAVE_LINUX_VIDEODEV_H" != x"" && test x"$GTK_CONFIG" != x""; then
HAVE_MEZZANINE="yes"
cat >> confdefs.h <<\EOF
#define HAVE_MEZZANINE 1
EOF
else
HAVE_MEZZANINE="no"
fi
#
# Testing mode. In testing mode scripts should not effect hardware state.
# This is designed to be used with the testsuite software which operates
......@@ -1379,9 +1548,9 @@ fi
if test "$enable_testmode" = "yes"; then
TESTMODE=1;
TESTMODE=1
else
TESTMODE=0;
TESTMODE=0
fi
......@@ -1400,7 +1569,7 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
echo "configure:1404: checking for a BSD compatible install" >&5
echo "configure:1573: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
......@@ -1588,7 +1757,12 @@ outfiles="$outfiles Makeconf GNUmakefile \
robots/emc/test_emcd.sh robots/emc/loclistener \
robots/vmcd/GNUmakefile robots/vmcd/test_vmc-client.sh \
robots/rmcd/GNUmakefile robots/primotion/GNUmakefile \
robots/primotion/test_gorobot.sh robots/primotion/dgrobot/GNUmakefile "
robots/primotion/test_gorobot.sh robots/primotion/dgrobot/GNUmakefile \
robots/mezzanine/GNUmakefile robots/mezzanine/rtk2/GNUmakefile \
robots/mezzanine/libfg/GNUmakefile \
robots/mezzanine/libmezz/GNUmakefile \
robots/mezzanine/mezzanine/GNUmakefile \
robots/mezzanine/mezzcal/GNUmakefile "
#
# Do this for easy distclean.
......@@ -1809,8 +1983,8 @@ s%@PUBLIC_NETWORK@%$PUBLIC_NETWORK%g
s%@PUBLIC_ROUTER@%$PUBLIC_ROUTER%g
s%@PUBLIC_NETMASK@%$PUBLIC_NETMASK%g
s%@DHCPD_DYNRANGE@%$DHCPD_DYNRANGE%g
s%@NAMED_FORWARDERS@%$NAMED_FORWARDERS%g
s%@DHCPD_CONTROLNET_DECL@%$DHCPD_CONTROLNET_DECL%g
s%@NAMED_FORWARDERS@%$NAMED_FORWARDERS%g
s%@SSLCERT_COUNTRY@%$SSLCERT_COUNTRY%g
s%@SSLCERT_STATE@%$SSLCERT_STATE%g
s%@SSLCERT_LOCALITY@%$SSLCERT_LOCALITY%g
......@@ -1846,6 +2020,9 @@ s%@INSTALL_APACHE_CONFIG@%$INSTALL_APACHE_CONFIG%g
s%@OPT_CFLAGS@%$OPT_CFLAGS%g
s%@EVENTSYS@%$EVENTSYS%g
s%@WINSUPPORT@%$WINSUPPORT%g
s%@CPP@%$CPP%g
s%@GTK_CONFIG@%$GTK_CONFIG%g
s%@HAVE_MEZZANINE@%$HAVE_MEZZANINE%g
s%@TESTMODE@%$TESTMODE%g
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
......
......@@ -463,6 +463,22 @@ else
fi
AC_SUBST(WINSUPPORT)
#
# Check for the robot vision system dependencies.
#
AC_CHECK_HEADERS([linux/videodev.h],
[AC_DEFINE(HAVE_LINUX_VIDEODEV_H)
HAVE_LINUX_VIDEODEV_H="yes"])
AC_CHECK_PROG(GTK_CONFIG, gtk-config, gtk-config)
if test x"$HAVE_LINUX_VIDEODEV_H" != x"" && test x"$GTK_CONFIG" != x""; then
HAVE_MEZZANINE="yes"
AC_DEFINE([HAVE_MEZZANINE])
else
HAVE_MEZZANINE="no"
fi
AC_SUBST(HAVE_MEZZANINE)
#
# Testing mode. In testing mode scripts should not effect hardware state.
# This is designed to be used with the testsuite software which operates
......@@ -473,9 +489,9 @@ AC_ARG_ENABLE(testmode,
--disable-testmode Disable test mode])
if test "$enable_testmode" = "yes"; then
TESTMODE=1;
TESTMODE=1
else
TESTMODE=0;
TESTMODE=0
fi
AC_SUBST(TESTMODE)
......@@ -619,7 +635,12 @@ outfiles="$outfiles Makeconf GNUmakefile \
robots/emc/test_emcd.sh robots/emc/loclistener \
robots/vmcd/GNUmakefile robots/vmcd/test_vmc-client.sh \
robots/rmcd/GNUmakefile robots/primotion/GNUmakefile \
robots/primotion/test_gorobot.sh robots/primotion/dgrobot/GNUmakefile "
robots/primotion/test_gorobot.sh robots/primotion/dgrobot/GNUmakefile \
robots/mezzanine/GNUmakefile robots/mezzanine/rtk2/GNUmakefile \
robots/mezzanine/libfg/GNUmakefile \
robots/mezzanine/libmezz/GNUmakefile \
robots/mezzanine/mezzanine/GNUmakefile \
robots/mezzanine/mezzcal/GNUmakefile "
#
# Do this for easy distclean.
......
......@@ -11,10 +11,22 @@ SUBDIR = robots
include $(OBJDIR)/Makeconf
SUBDIRS = mtp emc vmcd primotion rmcd
all: all-subdirs
check: check-subdirs
ifeq ($(HAVE_MEZZANINE),yes)
MEZZDIR=mezzanine
else
MEZZDIR=
endif
ifeq ($(EVENTSYS),1)
EMCDIR=emc
else
EMCDIR=
endif
SUBDIRS = $(MEZZDIR) mtp $(EMCDIR) vmcd primotion rmcd
all: all-subdirs
check: check-subdirs
install: install-subdirs
include $(TESTBED_SRCDIR)/GNUmakerules
......
#
# EMULAB-COPYRIGHT
# Copyright (c) 2004 University of Utah and the Flux Group.
# All rights reserved.
#
SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@
OBJDIR = ../..
SUBDIR = robots/mezzanine
include $(OBJDIR)/Makeconf
SUBDIRS = rtk2 libfg libmezz mezzanine mezzcal
all: all-subdirs
include $(TESTBED_SRCDIR)/GNUmakerules
check: check-subdirs
install: install-subdirs
clean: clean-subdirs
# How to recursively descend into subdirectories to make general
# targets such as `all'.
%.MAKE:
@$(MAKE) -C $(dir $@) $(basename $(notdir $@))
%-subdirs: $(addsuffix /%.MAKE,$(SUBDIRS)) ;
.PHONY: $(SUBDIRS)
#===========================================================================
#
# Description: Makefile for libfg
#
# Author: Gavin Baker <gavinb@antonym.org>
#
# Homepage: http://www.antonym.org/libfg
#
# License: Released under the GPL v2
#
#===========================================================================
SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@
OBJDIR = ../../..
SUBDIR = robots/mezzanine/libfg
include $(OBJDIR)/Makeconf
.SUFFIXES: .c .o
#---------------------------------------------------------------------------
# Options
#---------------------------------------------------------------------------
# Targets
LIB = libfg.a
EXE = test_capture
OBJS = capture.o frame.o
# Build flags with no gui
INCLUDES = -I. -I$(SRCDIR)
CFLAGS = -g3 -Wall $(INCLUDES)
LFLAGS = -lm
CC = gcc
MAKEDEP = makedepend
#---------------------------------------------------------------------------
# Build section
#---------------------------------------------------------------------------
%.o : %.c
${CC} ${CFLAGS} -c $< -o $@
all: $(EXE) $(LIB) camview
include $(TESTBED_SRCDIR)/GNUmakerules
$(LIB): $(OBJS)
ar r $(LIB) $(OBJS)
$(EXE): $(LIB) test_capture.o
$(CC) $(LFLAGS) -o $(EXE) test_capture.o $(LIB)
camview: camview.c
$(CC) $(CFLAGS) $(LFLAGS) -o camview $< \
libfg.a -lSDL -lpthread
doc: #
doxygen libfg.dox
install:
dep: #
$(MAKEDEP) $(INCLUDES) -Y -s "# Dependencies (generated by 'make dep')" *.c 2>/dev/null
$(RM) -f Makefile.bak
clean:
@rm -f $(EXE) $(LIB) $(OBJS) test_capture.o camview *~
#===========================================================================
# Dependencies (generated by 'make dep')
capture.o: capture.h frame.h
fgmodule.o: capture.h frame.h
frame.o: frame.h
test_capture.o: capture.h frame.h
###########################################################################
# Desc: Makefile for Mezzanine IPC library
# Author: Andrew Howard
# Date: 21 Mar 2001
# CVS: $Id: GNUmakefile.in,v 1.1 2004-12-21 23:25:01 stack Exp $
###########################################################################
SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@
OBJDIR = ../../..
SUBDIR = robots/mezzanine/libmezz
include $(OBJDIR)/Makeconf
VERSION=0.00-emulab
.SUFFIXES: .c .o
###########################################################################
# Options
###########################################################################
LIB = libmezz.a
OBS = mezz.o
INCLUDES = -I.
CFLAGS = -g3 -Wall -I$(INCLUDES) -DVERSION=\"$(VERSION)\"
LFLAGS = -lm
CC = gcc
MAKEDEP = makedepend
###########################################################################
# Build section
###########################################################################
all: $(LIB)
include $(TESTBED_SRCDIR)/GNUmakerules
$(LIB) : $(OBS)
ar r $(LIB) $(OBS)
dep:
$(MAKEDEP) $(INCLUDES) -Y -s "# Dependancies (generated by 'make dep')" *.c 2>/dev/null
$(RM) -f Makefile.bak
clean:
rm -f $(LIB) *~ *.o
###########################################################################
# Install
###########################################################################
install:
mkdir -p $(INSTALL_INCDIR)
mkdir -p $(INSTALL_LIBDIR)
$(INSTALL) -m 644 libmezz.a $(INSTALL_LIBDIR)
$(INSTALL) -m 644 $(SRCDIR)/mezz.h $(INSTALL_INCDIR)
# Dependancies (generated by 'make dep')
mezz.o: mezz.h
###########################################################################
# Desc: Makefile for Mezzanine
# Author: Andrew Howard
# Date: 21 Mar 2001
# CVS: $Id: GNUmakefile.in,v 1.1 2004-12-21 23:25:01 stack Exp $
# Notes:
# - Requires the gtk+ 1.2.X library (gui toolkit), which is pretty standard.
# - Requires the gsl library (Gnu Scientific Library) which is in most
# Linux distros. You can also get it at http://sources.redhat.com/gsl
###########################################################################
SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@
OBJDIR = ../../..
SUBDIR = robots/mezzanine/mezzanine
include $(OBJDIR)/Makeconf
VERSION=0.00-emulab
.SUFFIXES: .c .o
###########################################################################
# Options
###########################################################################
EXE = mezzanine
OBS = mezzanine.o fgrab.o classify.o blobfind.o dewarp.o ident.o \
opt.o geom.o img.o
INCLUDES = -I$(SRCDIR)/../libmezz -I$(SRCDIR)/../libfg -I$(SRCDIR)
CFLAGS = -g3 -Wall $(INCLUDES)
CFLAGS += -DVERSION=\"$(VERSION)\" -DINSTALL_ETC=\"$(INSTALL_ETC)\"
LFLAGS = -lm -L../libmezz -lmezz -L../libfg -lfg
LFLAGS += -lgsl -lgslcblas
LINKER = gcc
MAKEDEP = makedepend
###########################################################################
# Build section
###########################################################################
all: $(EXE)
include $(TESTBED_SRCDIR)/GNUmakerules
$(EXE) : $(OBS)
$(LINKER) $(OBS) $(LFLAGS) -o $(EXE)
%.o : %.c
${CC} ${CFLAGS} -c $< -o $@
dep:
$(MAKEDEP) $(INCLUDES) -Y -s "# Dependancies (generated by 'make dep')" *.c 2>/dev/null
$(RM) -f Makefile.bak
clean:
rm -f $(EXE) *~ *.o core
###########################################################################
# Symlinks
###########################################################################
symlinks:
ln -sf ../shared/opt.c; ln -sf ../shared/opt.h
ln -sf ../shared/geom.c; ln -sf ../shared/geom.h
ln -sf ../shared/img.c; ln -sf ../shared/img.h
ln -sf ../shared/color.h; ln -sf ../shared/err.h
###########################################################################
# Install
###########################################################################
install:
mkdir -p $(INSTALL_SBINDIR)
mkdir -p $(INSTALL_ETCDIR)
$(INSTALL) -m 755 mezzanine $(INSTALL_SBINDIR)/mezzanine
# $(INSTALL) -m 644 mezzanine.opt $(INSTALL_ETC)/mezzanine.opt
# Dependancies (generated by 'make dep')
blobfind.o: opt.h mezzanine.h ../libmezz/mezz.h
classify.o: color.h geom.h opt.h mezzanine.h ../libmezz/mezz.h
dewarp.o: opt.h mezzanine.h ../libmezz/mezz.h
fgrab.o: ../libfg/capture.h ../libfg/frame.h err.h opt.h img.h mezzanine.h
fgrab.o: ../libmezz/mezz.h
geom.o: geom.h
ident.o: geom.h opt.h mezzanine.h ../libmezz/mezz.h
img.o: err.h img.h
mezzanine.o: err.h opt.h mezzanine.h ../libmezz/mezz.h
opt.o: err.h opt.h
###########################################################################
# Desc: Makefile for Mezzanine calibration tool
# Author: Andrew Howard
# Date: Apr 10 2002
# CVS: $Id: GNUmakefile.in,v 1.1 2004-12-21 23:25:01 stack Exp $
###########################################################################
SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@
OBJDIR = ../../..
SUBDIR = robots/mezzanine/mezzcal
include $(OBJDIR)/Makeconf
.SUFFIXES: .c .o
VERSION=0.00-emulab
###########################################################################
# Options
###########################################################################
EXE = mezzcal
OBS = mezzcal.o imagewnd.o colorwnd.o tablewnd.o \
image.o mask.o sample.o classify.o blobfind.o dewarp.o ident.o opt.o
INCLUDES = -I$(SRCDIR)/../libmezz
CFLAGS = -g3 -Wall $(INCLUDES) -DVERSION=\"$(VERSION)\"
LFLAGS = -lm -L../libmezz -lmezz
RTK = $(SRCDIR)/../rtk2
INCLUDES += -I$(RTK)
CFLAGS += -DINCLUDE_GUI -I$(RTK) `gtk-config --cflags`
LFLAGS += -L../rtk2 `gtk-config --libs gtk gthread` -lrtk
LINKER = gcc
MAKEDEP = makedepend
###########################################################################
# Build section
###########################################################################
all: $(EXE)
include $(TESTBED_SRCDIR)/GNUmakerules
$(EXE) : $(OBS)
$(LINKER) $(OBS) $(LFLAGS) -o $(EXE)
dep:
$(MAKEDEP) $(INCLUDES) -Y -s "# Dependancies (generated by 'make dep')" *.c 2>/dev/null
$(RM) -f Makefile.bak
clean:
rm -f $(EXE) *~ *.o core
###########################################################################
# Symlinks section
###########################################################################
symlinks:
ln -sf ../shared/opt.c; ln -sf ../shared/opt.h
ln -sf ../shared/color.h; ln -sf ../shared/err.h
###########################################################################
# Install
###########################################################################
install:
mkdir -p $(INSTALL_BINDIR)
$(INSTALL) -m 755 mezzcal $(INSTALL_BINDIR)
# Dependancies (generated by 'make dep')
blobfind.o: mezzcal.h ../libmezz/mezz.h ../rtk2/rtk.h
classify.o: mezzcal.h ../libmezz/mezz.h ../rtk2/rtk.h
colorwnd.o: color.h mezzcal.h ../libmezz/mezz.h ../rtk2/rtk.h
dewarp.o: mezzcal.h ../libmezz/mezz.h ../rtk2/rtk.h
ident.o: color.h mezzcal.h ../libmezz/mezz.h ../rtk2/rtk.h
image.o: color.h mezzcal.h ../libmezz/mezz.h ../rtk2/rtk.h
imagewnd.o: mezzcal.h ../libmezz/mezz.h ../rtk2/rtk.h
mask.o: mezzcal.h ../libmezz/mezz.h ../rtk2/rtk.h
mezzcal.o: opt.h mezzcal.h ../libmezz/mezz.h ../rtk2/rtk.h
opt.o: err.h opt.h
sample.o: color.h mezzcal.h ../libmezz/mezz.h ../rtk2/rtk.h
tablewnd.o: mezzcal.h ../libmezz/mezz.h ../rtk2/rtk.h
###########################################################################
#
# File: Makefile
# Author: Andrew Howard
# Date: 21 Mar 2001
# Desc:
#
# CVS info:
# $Source: /home/cvs_mirrors/cvs-public.flux.utah.edu/CVS/testbed/robots/mezzanine/rtk2/GNUmakefile.in,v $
# $Author: stack $
# $Revision: 1.1 $
#
###########################################################################
SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@
OBJDIR = ../../..
SUBDIR = robots/mezzanine/rtk2
include $(OBJDIR)/Makeconf
.SUFFIXES: .cc .o
RTK_LIB = librtk.a
RTK_OBJS = rtk.o rtk_canvas.o rtk_fig.o rtk_menu.o rtk_table.o
# Tools
# To build for the robots, use make -e CC = i386-glibc21-linux-gcc
MAKEDEP = makedepend
# Compile flags
CFLAGS = -g3 -Wall `$(GTK_CONFIG) --cflags` -I$(SRCDIR)
###########################################################################
# Build section
all: $(RTK_LIB)
include $(TESTBED_SRCDIR)/GNUmakerules
$(RTK_LIB) : $(RTK_OBJS)
ar r $(RTK_LIB) $(RTK_OBJS)
%.o : %.c
${CC} ${CFLAGS} -c $< -o $@
dep:
$(MAKEDEP) -Y -s "# Dependancies (make dep)" *.c 2>/dev/null
install:
clean:
rm -f $(RTK_LIB) *~ *.o
# Dependancies (make dep)
rtk.o: rtk.h rtkprivate.h
rtk_canvas.o: rtk.h rtkprivate.h
rtk_fig.o: rtk.h rtkprivate.h
rtk_menu.o: rtk.h rtkprivate.h
rtk_table.o: rtk.h rtkprivate.h