#
# $Id: Makefile,v 1.4 2011/06/03 19:42:19 thomasw Exp $
#
# General build makefile, only for examples.

PROJECT ?= seamax
EXPDIR ?=  /usr/local/share/${PROJECT}

CC ?=      /usr/bin/gcc
CXX ?=     /usr/bin/g++
MKDIR ?=   /bin/mkdir
CP ?=      /bin/cp
RM ?=      /bin/rm


## ============================================================================
MODEL = 8223
OBJS = C/rwio.o C++/rwio.o
APPS = rwio_c rwio_cpp

CFLAGS = -g -Wall -O2 -I../../include
LIBFLG = -L../../lib -lseamax -lftdi -lusb


## ============================================================================
all: $(APPS)
	@echo

%_c: C/%.o ../../lib/libseamax.a
	@$(CC) $(CFLAGS) -o ${*}_c C/${*}.o $(LIBFLG)
	@echo "   *${MODEL} example ${*}_c created"

%_cpp: C++/%.o ../../lib/libseamax.a
	@$(CXX) $(CFLAGS) -o ${*}_cpp C++/${*}.o $(LIBFLG)
	@echo "   *${MODEL} example ${*}_cpp created"

../../lib/libseamax.a: 
	@$(MAKE) -s -C ../../lib libseamax.a

objs: $(OBJS)
	@echo

C/%.o: C/%.c ../../include/seamaxlin.h
	@echo "   *Compiling ${MODEL} example source file: ${*}.c"
	@$(CC) $(CFLAGS) -o C/${*}.o -c $<

C++/%.o: C++/%.cpp ../../include/seamaxlin.h
	@echo "   *Compiling ${MODEL} example source file: ${*}.cpp"
	@$(CXX) $(CFLAGS) -o C++/${*}.o -c $<

install: $(APPS)
	@echo "   *Installing ${MODEL} examples to ${EXPDIR}/${MODEL}/"
	@$(MKDIR) -p ${EXPDIR}/${MODEL}
	@for n in $(APPS); do $(CP) -r $$n ${EXPDIR}/${MODEL}; done
	@$(CP) Makefile.installed ${EXPDIR}/${MODEL}/Makefile
	@$(MKDIR) -p ${EXPDIR}/${MODEL}/C
	@$(CP) -r C/*.c ${EXPDIR}/${MODEL}/C
	@$(MKDIR) -p ${EXPDIR}/${MODEL}/C++
	@$(CP) -r C++/*.cpp ${EXPDIR}/${MODEL}/C++
	@echo

uninstall:
	@echo "   *Uninstalling ${MODEL} exps from ${EXPDIR}/${MODEL}"
	@$(RM) -rf ${EXPDIR}/${MODEL}
	@echo

clean: 
	@echo "   *Removing ${MODEL} examples."
	@$(RM) -rf $(OBJS) $(APPS)
	@echo "     ${MODEL} example files removed."
	@echo
