# by default install in /usr/local
ifeq ($(DESTDIR),)
DESTDIR=/usr/local
endif

MOC = /usr/bin/moc
CPP = g++ -fPIC -g -Wall
DEFS= -DMSC_TARGET_UNIX -DQT_THREAD_SUPPORT -D_REENTRANT
INC = -I/usr/include/qt
LIBS = -L/usr/lib/qt2/lib -lqt -lpcsclite -lpthread
OBJ  = main.o xcardMain.o xcardMainMoc.o xcardMainData.o \
	xcardMainDataMoc.o  xcardPersonalize.o \
	xcardPersonalizeData.o xcardPersonalizeMoc.o \
	xcardPersonalizeDataMoc.o xcardPINV.o xcardPINVMoc.o xcardPINVData.o \
	xcardPINVDataMoc.o xcardCreateObj.o xcardCreateObjMoc.o \
	xcardCreateObjData.o xcardCreateObjDataMoc.o xcardManagePIN.o \
	xcardManagePINMoc.o xcardManagePINData.o xcardManagePINDataMoc.o \
	xcardViewer.o xcardViewerMoc.o xcardViewerData.o \
	xcardViewerDataMoc.o xcardPutKey.o xcardPutKeyMoc.o \
	xcardPutKeyData.o xcardPutKeyDataMoc.o

all: mocfiles xcard

mocfiles: 
	$(MOC) -o xcardMainMoc.cpp xcardMain.h
	$(MOC) -o xcardMainDataMoc.cpp xcardMainData.h
	$(MOC) -o xcardPINVMoc.cpp xcardPINV.h
	$(MOC) -o xcardPINVDataMoc.cpp xcardPINVData.h
	$(MOC) -o xcardCreateObjMoc.cpp xcardCreateObj.h
	$(MOC) -o xcardCreateObjDataMoc.cpp xcardCreateObjData.h
	$(MOC) -o xcardManagePINMoc.cpp xcardManagePIN.h
	$(MOC) -o xcardManagePINDataMoc.cpp xcardManagePINData.h
	$(MOC) -o xcardViewerMoc.cpp xcardViewer.h
	$(MOC) -o xcardViewerDataMoc.cpp xcardViewerData.h
	$(MOC) -o xcardPutKeyMoc.cpp xcardPutKey.h
	$(MOC) -o xcardPutKeyDataMoc.cpp xcardPutKeyData.h
	$(MOC) -o xcardPersonalizeDataMoc.cpp xcardPersonalizeData.h
	$(MOC) -o xcardPersonalizeMoc.cpp xcardPersonalize.h

install: xcard
	install --mode=0755 --strip xcard $(DESTDIR)/bin/xcard

clean:
	rm -f *.o xcard

xcard: $(OBJ)
	$(CPP) -o $@ $(OBJ) $(LIBS)

%.o: %.cpp
	$(CPP) -c $< $(INC) $(DEFS)

