VERSION="0.0"

# Native compiler
CXX = c++

# Eyebot cross compiler
CC68 = gcc68o
CXX68 = c++68o
LD68 = gld68o
AR68 = m68k-coff-ar

ROBIOSDIR=$(HOME)/src/uwarobot/ciipsglory/robios/mc

DEFS=-DVERSION=$(VERSION)
INCLUDES=-I../libpicproc
CFLAGS=-W -Wall -g -O6 -I$(ROBIOSDIR)/include -I/store/include $(DEFS) $(INCLUDES)
CXXFLAGS=$(CFLAGS)
C68FLAGS=$(INCLUDES) -O6

CXX68FLAGS=$(DEFS) $(INCLUDES) -O6

libcamera_a_HEADERS = \
	picture.h \
	camera.h \
	camera.hh \
	v4l2camera.hh \
	dummycamera.hh \
	eyebotcamera.hh

libcamera_a_SOURCE = \
	camera.cc \
	v4l2camera.cc \
	dummycamera.cc \
	eyebotcamera.cc

libcamera_a_OBJECTS   = $(subst .cc,.o,$(libcamera_a_SOURCE))
libcamera_a_OBJECTS68 = $(subst .cc,.o68,$(libcamera_a_SOURCE))

all: libcamera_lx.a libcamera.a doc demo
demo: camtest.hex 

doc: README libcamera.html
libcamera.summary: $(libcamera_a_HEADERS) $(libcamera_a_SOURCE)
	cat $^ > $@
README: libcamera.summary
	robodoc $^ $@ SORT ASCII
	tr -d "" < $@ > $@.new; mv $@.new $@
libcamera.html: libcamera.summary
	robodoc $^ $@ SORT HTML

libcamera_lx.a: $(libcamera_a_OBJECTS)
	$(AR) rc $@ $^

libcamera.a: $(libcamera_a_OBJECTS68)
	$(AR68) rc $@ $^

camtest.hex: camtest.o68 libcamera.a
	$(LD68) $^ -L../libpicproc -lpicproc

clean: 
	$(RM) $(libcamera_a_OBJECTS68)
	$(RM) $(libcamera_a_OBJECTS)
	$(RM) *~ *.bak *.o *.o68 *.hex
	$(RM) libcamera.summary

distclean: clean
	$(RM) libcamera.a libcamera_lx.a


.SUFFIXES: .cc .o68
.cc.o68:
	${CXX68} ${CXX68FLAGS} $<
	mv $*.o $@

depend:
	makedepend -Y *.c *.cc

# DO NOT DELETE

camera.o: camera.hh picture.h eyebotcamera.hh dummycamera.hh camera.h
camtest.o: camera.hh picture.h
dummycamera.o: dummycamera.hh camera.hh picture.h
eyebotcamera.o: eyebotcamera.hh camera.hh picture.h
v4l2camera.o: v4l2camera.hh camera.hh picture.h
