#
# APOGEE makefile for xmccd
#

DEVHOME		= .
INSTALL_DIR	= .



.KEEP_STATE:
CC =	g++

INCDIR		= $(DEVHOME)
ALTAINC		= -I./ApogeeUsb -I./ApogeeNet -I./FpgaRegs -DHAVE_STRERROR
CPPFLAGS	= -O2 -g -fpic -DWall -DLINUX -DALTA_STANDALONE -I.
LDFLAGS		= -shared -O2 -g
CONFIGTARGETS	= libapogeeusbdrv.so libapogeenetdrv.so
all: $(CONFIGTARGETS)

include models.mak



libapogeeusbdrv.so: CamData
	$(CC) $(CPPFLAGS) $(ALTAINC) -c libapogeedrv.cpp	
	$(CC) $(CPPFLAGS) $(ALTAINC) -c ApnCamera.cpp
	$(CC) $(CPPFLAGS) $(ALTAINC) -c ApnCamera_USB.cpp
	$(CC) $(CPPFLAGS) $(ALTAINC) -c ApnCamera_Linux.cpp
	$(CC) $(CPPFLAGS) $(ALTAINC) -c ApogeeUsb/ApogeeUsbLinux.cpp 
	$(CC) $(LDFLAGS) ApnCamera.o ApnCamera_Linux.o ApnCamera_USB.o \
		ApogeeUsbLinux.o ApnCamData*.o ApnCamTable.o \
		libapogeedrv.o \
		-o libapogeeusbdrv.so -I. -lusb


libapogeenetdrv.so: CamData
	$(CC) $(CPPFLAGS) $(ALTAINC) -c libapogeedrv.cpp
	$(CC) $(CPPFLAGS) $(ALTAINC) -c ApnCamera.cpp
	$(CC) $(CPPFLAGS) $(ALTAINC) -c ApnCamera_NET.cpp
	$(CC) $(CPPFLAGS) $(ALTAINC) -c ApnCamera_Linux.cpp
	$(CC) $(CPPFLAGS) $(ALTAINC) -c ApogeeNet/ApogeeNet.cpp
	$(CC) $(CPPFLAGS) $(ALTAINC) -c ApogeeNet/ApogeeNetLinux.c 
	$(CC) $(LDFLAGS) ApnCamera.o ApnCamera_Linux.o ApnCamera_NET.o \
		ApogeeNet.o ApogeeNetLinux.o ApnCamData*.o ApnCamTable.o \
		libapogeedrv.o \
		-o libapogeenetdrv.so -I. -lcurl -lz



install: $(CONFIGTARGETS) FORCE
	cp $(CONFIGTARGETS) $(INSTALL_DIR)

clean:
	rm -f tags TAGS .make.state .nse_depinfo *.o *.so

tags:
	ctags $(LIBSOURCES)

FORCE:



