# 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/qt3
LIBS = -L/usr/lib/qt2/lib -lqt -lmusclecard -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
MOCFILE = xcardMainMoc.cpp xcardMainDataMoc.cpp xcardPINVMoc.cpp \
	xcardPINVDataMoc.cpp xcardCreateObjMoc.cpp xcardCreateObjDataMoc.cpp \
	xcardManagePINMoc.cpp xcardManagePINDataMoc.cpp xcardViewerMoc.cpp \
	xcardViewerDataMoc.cpp xcardPutKeyMoc.cpp xcardPutKeyDataMoc.cpp \
	xcardPersonalizeDataMoc.cpp xcardPersonalizeMoc.cpp

all: mocfiles xcard

mocfiles: $(MOCFILE)

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

clean:
	rm -f *.o xcard $(MOCFILE)

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

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

%Moc.cpp: %.h
	$(MOC) -o $@ $<

