#
# Makefile for Star I camera controller:
# Federico Bareilles
# 10/12/2004
#

BASEDIR := $(shell pwd |awk '{print a[split($$1,a,"/")]}')

VERSION := $(shell cat VERSION )
SNAP := $(shell date "+%Y%m%d")
#DATA_DIR := $(shell grep "^\#define DATA_DIR" ska_survey.h|\
#	awk -F "\"" '{print $$2}')

TARGET=/usr/local

DISTRIBUTION=distribucion
TARDIST=${BASEDIR}-${VERSION}.tar.gz
TARBALL=${BASEDIR}-${SNAP}.tar.gz
#-----------------------------------------------------------------------------
CC = gcc
#CFLAGS = -O2 -Wall -pedantic -DVERBOSE_MODE -DDEBUG_MODE
CFLAGS = -O2 -Wall  -DVERBOSE_MODE -DDEBUG_MODE
CFLAGS += -DDEMO_MODE
CFLAGS += -DNODAEMON
# For some bugs in ISA NI card:
CFLAGS += -DNI_NAT4882_ISA
# Use ds9 as display:
CFLAGS += -DUSE_XPA -I/opt/include
INCLUDE = /usr/src/linux/include
CFLAGS += -I../include -I/usr/local/include
LIBS= -liarcontrol -lgpib
LIBNOVAS=/usr/local/lib/libnovas.a

PROGS= lstari stari starid
#PROGS= lstari

all: .depend $(PROGS)


lstari: stari.o camera_io_gpib.o camera_init_gpib.o camera_cmd.o \
	fits_io.o camera_setup.o camera_tools.o camera_xpa.o
	#gcc $^ -o $@ ${LIBS} -lreadline -lncurses -lcfitsio -lm ${LIBNOVAS}
	gcc $^ -o $@ ${LIBS} -lreadline -lncurses -lcfitsio -lm /opt/lib/libxpa.a
	strip -s $@

stari:  stari.o camera_io_ib_client.o camera_init_ib_client.o camera_cmd.o \
	fits_io.o camera_tools.o camera_xpa.o
	gcc $^ -o $@ ${LIBS} -lreadline -lncurses -lcfitsio -lm /opt/lib/libxpa.a
	strip -s $@

starid: camera_io_ib_server.o camera_init_gpib.o camera_io_gpib.o main_d.o \
	camera_setup.o
	gcc $^ -o $@ ${LIBS} 
	strip -s $@

.c.o:
	gcc $(CFLAGS) -I$(INCLUDE) -c $< -o $@

clean:
	rm -f *.o .depend core $(PROGS)

cleanb: clean
	rm -f *~

dep:
	rm -f .depend
	make .depend

depend .depend: version.h
	$(CC) $(CFLAGS) -M *.c > $@

version.h: VERSION
	echo "#define VERSION \"${VERSION}\"" >version.h

install: all
	install -p -m 755 ${PROGS} ${TARGET}/sbin/
	#test -d ${DATA_DIR} || mkdir ${DATA_DIR}
	#install -p -m 644 ska_modes.dat  ska_sequence.dat ${DATA_DIR} 

#uninstall:


filelist:
	echo ${BASEDIR}/VERSION           > .filelist
	( cd .. ;\
	 find ${BASEDIR} -name "*.[ch]" -print >.filelist2;\
	 find ${BASEDIR} -name "Makefile" -print >>.filelist2;\
	 cat .filelist2 |grep -v "examples" |grep -v "/doc/" >>\
	 ${BASEDIR}/.filelist; rm -f .filelist2 \
	)

DistDir:
	test -d $(DISTRIBUTION) || mkdir $(DISTRIBUTION)

tar: filelist DistDir
	echo "#define VERSION \"${VERSION}\"" >version.h
	cd ..; tar cvTf ${BASEDIR}/.filelist - | \
		gzip -v9 > ${BASEDIR}/${DISTRIBUTION}/${TARDIST}

# really is http:
ftp:
	scp -C  ${DISTRIBUTION}/${TARDIST}\
	fede@tux.iar.unlp.edu.ar:/home/fede/public_html/pub/star_i/

tarball: filelist DistDir
	echo "#define VERSION \"${SNAP}\"" >version.h
	cd ..; tar  cvTf ${BASEDIR}/.filelist - | \
		gzip -v9 > ${BASEDIR}/${DISTRIBUTION}/${TARBALL}

snap:
	scp -C  ${DISTRIBUTION}/${TARBALL}\
	fede@tux.iar.unlp.edu.ar:/home/fede/public_html/pub/star_i/snapshots/



ifeq (.depend,$(wildcard .depend))
include .depend
endif


