#############################################################################
# Makefile for building: libaxolotl.so.1.0.0
# Generated by qmake (2.01a) (Qt 4.7.0) on: Sat Sep 12 11:18:36 2015
# Project:  libaxolotl.pro
# Template: lib
# Command: /usr/bin/qmake -o Makefile libaxolotl.pro
#############################################################################

####### Compiler, tools and options

CC            = gcc
CXX           = g++
DEFINES       = -DQT_GL_NO_SCISSOR_TEST -DQT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH=1024 -DLIBAXOLOTL_LIBRARY -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
CFLAGS        = -pipe -fPIC -DPIC -O3 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wall -W -D_REENTRANT -fPIC $(DEFINES)
CXXFLAGS      = -pipe -fPIC -DPIC -O3 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wall -W -D_REENTRANT -fPIC $(DEFINES)
INCPATH       = -I/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/linux-g++-maemo5 -I. -I/targets/FREMANTLE_ARMEL/usr/include/QtCore -I/targets/FREMANTLE_ARMEL/usr/include/QtGui -I/targets/FREMANTLE_ARMEL/usr/include -I.
LINK          = g++
LFLAGS        = -Wl,-rpath-link,/usr/lib -Wl,-O1 -Wl,--hash-style=gnu -shared -Wl,-soname,libaxolotl.so.1
LIBS          = $(SUBLIBS)  -L/usr/lib -L../libcurve25519 -lcurve25519 /usr/lib/libprotobuf.a -lssl -lcrypto -lQtGui -L/usr/lib -L/usr/X11R6/lib -lQtDBus -lQtXml -lQtCore -lpthread 
AR            = ar cqs
RANLIB        = 
QMAKE         = /usr/bin/qmake
TAR           = tar -cf
COMPRESS      = gzip -9f
COPY          = cp -f
SED           = sed
COPY_FILE     = $(COPY)
COPY_DIR      = $(COPY) -r
STRIP         = strip
INSTALL_FILE  = install -m 644 -p
INSTALL_DIR   = $(COPY_DIR)
INSTALL_PROGRAM = install -m 755 -p
DEL_FILE      = rm -f
SYMLINK       = ln -f -s
DEL_DIR       = rmdir
MOVE          = mv -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p

####### Output directory

OBJECTS_DIR   = ./

####### Files

SOURCES       = ecc/curve.cpp \
		ecc/eckeypair.cpp \
		util/byteutil.cpp \
		ecc/djbec.cpp \
		kdf/derivedmessagesecrets.cpp \
		kdf/derivedrootsecrets.cpp \
		kdf/hkdf.cpp \
		util/keyhelper.cpp \
		identitykey.cpp \
		identitykeypair.cpp \
		state/prekeybundle.cpp \
		state/prekeyrecord.cpp \
		state/LocalStorageProtocol.pb.cc \
		state/sessionrecord.cpp \
		state/sessionstate.cpp \
		ratchet/messagekeys.cpp \
		ratchet/aliceaxolotlparameters.cpp \
		ratchet/bobaxolotlparameters.cpp \
		ratchet/chainkey.cpp \
		ratchet/ratchetingsession.cpp \
		ratchet/symmetricaxolotlparameters.cpp \
		ratchet/rootkey.cpp \
		state/signedprekeyrecord.cpp \
		groups/ratchet/senderchainkey.cpp \
		groups/ratchet/sendermessagekey.cpp \
		groups/state/senderkeyrecord.cpp \
		groups/state/senderkeystate.cpp \
		protocol/WhisperTextProtocol.pb.cc \
		protocol/keyexchangemessage.cpp \
		protocol/prekeywhispermessage.cpp \
		protocol/whispermessage.cpp \
		protocol/senderkeymessage.cpp \
		protocol/senderkeydistributionmessage.cpp \
		sessioncipher.cpp \
		sessionbuilder.cpp \
		qcryptographichash/qcryptographichash.cpp \
		qmessageauthenticationcode/qmessageauthenticationcode.cpp 
OBJECTS       = curve.o \
		eckeypair.o \
		byteutil.o \
		djbec.o \
		derivedmessagesecrets.o \
		derivedrootsecrets.o \
		hkdf.o \
		keyhelper.o \
		identitykey.o \
		identitykeypair.o \
		prekeybundle.o \
		prekeyrecord.o \
		LocalStorageProtocol.pb.o \
		sessionrecord.o \
		sessionstate.o \
		messagekeys.o \
		aliceaxolotlparameters.o \
		bobaxolotlparameters.o \
		chainkey.o \
		ratchetingsession.o \
		symmetricaxolotlparameters.o \
		rootkey.o \
		signedprekeyrecord.o \
		senderchainkey.o \
		sendermessagekey.o \
		senderkeyrecord.o \
		senderkeystate.o \
		WhisperTextProtocol.pb.o \
		keyexchangemessage.o \
		prekeywhispermessage.o \
		whispermessage.o \
		senderkeymessage.o \
		senderkeydistributionmessage.o \
		sessioncipher.o \
		sessionbuilder.o \
		qcryptographichash.o \
		qmessageauthenticationcode.o
DIST          = /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/common/unix.conf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/common/linux.conf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/qconfig.pri \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt_functions.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt_config.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/default_pre.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/release.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/default_post.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/link_pkgconfig.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/dll.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/shared.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/warn_on.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/unix/thread.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/moc.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/resources.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/uic.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/yacc.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/lex.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/include_source_dir.prf \
		libaxolotl.pro
QMAKE_TARGET  = axolotl
DESTDIR       = 
TARGET        = libaxolotl.so.1.0.0
TARGETA       = libaxolotl.a
TARGETD       = libaxolotl.so.1.0.0
TARGET0       = libaxolotl.so
TARGET1       = libaxolotl.so.1
TARGET2       = libaxolotl.so.1.0

first: all
####### Implicit rules

.SUFFIXES: .o .c .cpp .cc .cxx .C

.cpp.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.cc.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.cxx.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.C.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.c.o:
	$(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"

####### Build rules

all: Makefile  $(TARGET)

$(TARGET):  $(OBJECTS) $(SUBLIBS) $(OBJCOMP)  
	-$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
	-ln -s $(TARGET) $(TARGET0)
	-ln -s $(TARGET) $(TARGET1)
	-ln -s $(TARGET) $(TARGET2)



staticlib: $(TARGETA)

$(TARGETA):  $(OBJECTS) $(OBJCOMP) 
	-$(DEL_FILE) $(TARGETA) 
	$(AR) $(TARGETA) $(OBJECTS)

Makefile: libaxolotl.pro  /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/linux-g++-maemo5/qmake.conf /targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/common/unix.conf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/common/linux.conf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/qconfig.pri \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt_functions.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt_config.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/default_pre.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/release.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/default_post.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/link_pkgconfig.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/dll.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/shared.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/warn_on.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/unix/thread.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/moc.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/resources.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/uic.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/yacc.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/lex.prf \
		/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/include_source_dir.prf \
		/usr/lib/libQtGui.prl \
		/usr/lib/libQtDBus.prl \
		/usr/lib/libQtXml.prl \
		/usr/lib/libQtCore.prl
	$(QMAKE) -o Makefile libaxolotl.pro
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/common/unix.conf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/common/linux.conf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/qconfig.pri:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt_functions.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt_config.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/exclusive_builds.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/default_pre.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/release.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/default_post.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/link_pkgconfig.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/dll.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/shared.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/warn_on.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/qt.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/unix/thread.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/moc.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/resources.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/uic.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/yacc.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/lex.prf:
/targets/FREMANTLE_ARMEL/usr/share/qt4/mkspecs/features/include_source_dir.prf:
/usr/lib/libQtGui.prl:
/usr/lib/libQtDBus.prl:
/usr/lib/libQtXml.prl:
/usr/lib/libQtCore.prl:
qmake:  FORCE
	@$(QMAKE) -o Makefile libaxolotl.pro

dist: 
	@$(CHK_DIR_EXISTS) .tmp/axolotl1.0.0 || $(MKDIR) .tmp/axolotl1.0.0 
	$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/axolotl1.0.0/ && $(COPY_FILE) --parents duplicatemessageexception.h invalidkeyexception.h invalidkeyidexception.h invalidmessageexception.h invalidversionexception.h nosessionexception.h stalekeyexchangeexception.h untrustedidentityexception.h ecc/curve.h ecc/eckeypair.h util/byteutil.h ecc/djbec.h kdf/derivedmessagesecrets.h kdf/derivedrootsecrets.h kdf/hkdf.h util/keyhelper.h identitykey.h identitykeypair.h state/prekeybundle.h state/prekeyrecord.h state/LocalStorageProtocol.pb.h state/sessionrecord.h state/sessionstate.h ratchet/messagekeys.h ratchet/aliceaxolotlparameters.h ratchet/bobaxolotlparameters.h ratchet/chainkey.h ratchet/ratchetingsession.h ratchet/symmetricaxolotlparameters.h ratchet/rootkey.h state/sessionstore.h state/signedprekeyrecord.h state/signedprekeystore.h groups/ratchet/senderchainkey.h groups/ratchet/sendermessagekey.h groups/state/senderkeyrecord.h groups/state/senderkeystate.h groups/state/senderkeystore.h protocol/WhisperTextProtocol.pb.h protocol/ciphertextmessage.h protocol/keyexchangemessage.h legacymessageexception.h whisperexception.h protocol/prekeywhispermessage.h protocol/whispermessage.h protocol/senderkeymessage.h protocol/senderkeydistributionmessage.h sessioncipher.h sessionbuilder.h state/prekeystore.h state/axolotlstore.h state/identitykeystore.h util/medium.h axolotl_global.h qcryptographichash/qcryptographichash.h qcryptographichash/hashes/sha3/KeccakF-1600-opt64-settings.h qcryptographichash/hashes/sha3/brg_endian.h qcryptographichash/hashes/sha3/KeccakF-1600-int-set.h qcryptographichash/hashes/sha3/KeccakF-1600-opt32-settings.h qcryptographichash/hashes/sha3/KeccakNISTInterface.h qcryptographichash/hashes/sha3/KeccakSponge.h qcryptographichash/hashes/sha3/KeccakF-1600-interface.h qcryptographichash/hashes/md5/md5.h qcryptographichash/hashes/rfc6234/sha-private.h qcryptographichash/hashes/rfc6234/sha.h qcryptographichash/hashes/md4/md4.h qmessageauthenticationcode/qmessageauthenticationcode.cpp .tmp/axolotl1.0.0/ && $(COPY_FILE) --parents ecc/curve.cpp ecc/eckeypair.cpp util/byteutil.cpp ecc/djbec.cpp kdf/derivedmessagesecrets.cpp kdf/derivedrootsecrets.cpp kdf/hkdf.cpp util/keyhelper.cpp identitykey.cpp identitykeypair.cpp state/prekeybundle.cpp state/prekeyrecord.cpp state/LocalStorageProtocol.pb.cc state/sessionrecord.cpp state/sessionstate.cpp ratchet/messagekeys.cpp ratchet/aliceaxolotlparameters.cpp ratchet/bobaxolotlparameters.cpp ratchet/chainkey.cpp ratchet/ratchetingsession.cpp ratchet/symmetricaxolotlparameters.cpp ratchet/rootkey.cpp state/signedprekeyrecord.cpp groups/ratchet/senderchainkey.cpp groups/ratchet/sendermessagekey.cpp groups/state/senderkeyrecord.cpp groups/state/senderkeystate.cpp protocol/WhisperTextProtocol.pb.cc protocol/keyexchangemessage.cpp protocol/prekeywhispermessage.cpp protocol/whispermessage.cpp protocol/senderkeymessage.cpp protocol/senderkeydistributionmessage.cpp sessioncipher.cpp sessionbuilder.cpp qcryptographichash/qcryptographichash.cpp qmessageauthenticationcode/qmessageauthenticationcode.cpp .tmp/axolotl1.0.0/ && (cd `dirname .tmp/axolotl1.0.0` && $(TAR) axolotl1.0.0.tar axolotl1.0.0 && $(COMPRESS) axolotl1.0.0.tar) && $(MOVE) `dirname .tmp/axolotl1.0.0`/axolotl1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/axolotl1.0.0


clean:compiler_clean 
	-$(DEL_FILE) $(OBJECTS)
	-$(DEL_FILE) *~ core *.core


####### Sub-libraries

distclean: clean
	-$(DEL_FILE) $(TARGET) 
	-$(DEL_FILE) $(TARGET0) $(TARGET1) $(TARGET2) $(TARGETA)
	-$(DEL_FILE) Makefile


check: first

mocclean: compiler_moc_header_clean compiler_moc_source_clean

mocables: compiler_moc_header_make_all compiler_moc_source_make_all

compiler_moc_header_make_all:
compiler_moc_header_clean:
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
compiler_image_collection_clean:
	-$(DEL_FILE) qmake_image_collection.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_uic_make_all:
compiler_uic_clean:
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: 

####### Compile

curve.o: ecc/curve.cpp ecc/curve.h \
		ecc/eckeypair.h \
		ecc/djbec.h \
		invalidkeyexception.h \
		whisperexception.h \
		../libcurve25519/curve.h \
		../libcurve25519/curve_global.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o curve.o ecc/curve.cpp

eckeypair.o: ecc/eckeypair.cpp ecc/eckeypair.h \
		ecc/djbec.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o eckeypair.o ecc/eckeypair.cpp

byteutil.o: util/byteutil.cpp util/byteutil.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o byteutil.o util/byteutil.cpp

djbec.o: ecc/djbec.cpp ecc/djbec.h \
		util/byteutil.h \
		ecc/curve.h \
		ecc/eckeypair.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o djbec.o ecc/djbec.cpp

derivedmessagesecrets.o: kdf/derivedmessagesecrets.cpp kdf/derivedmessagesecrets.h \
		util/byteutil.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o derivedmessagesecrets.o kdf/derivedmessagesecrets.cpp

derivedrootsecrets.o: kdf/derivedrootsecrets.cpp kdf/derivedrootsecrets.h \
		util/byteutil.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o derivedrootsecrets.o kdf/derivedrootsecrets.cpp

hkdf.o: kdf/hkdf.cpp kdf/hkdf.h \
		qmessageauthenticationcode/qmessageauthenticationcode.h \
		qcryptographichash/qcryptographichash.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o hkdf.o kdf/hkdf.cpp

keyhelper.o: util/keyhelper.cpp util/keyhelper.h \
		identitykeypair.h \
		ecc/djbec.h \
		identitykey.h \
		state/prekeyrecord.h \
		state/LocalStorageProtocol.pb.h \
		ecc/curve.h \
		ecc/eckeypair.h \
		state/signedprekeyrecord.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o keyhelper.o util/keyhelper.cpp

identitykey.o: identitykey.cpp identitykey.h \
		ecc/djbec.h \
		ecc/curve.h \
		ecc/eckeypair.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o identitykey.o identitykey.cpp

identitykeypair.o: identitykeypair.cpp identitykeypair.h \
		ecc/djbec.h \
		identitykey.h \
		ecc/curve.h \
		ecc/eckeypair.h \
		state/sessionstate.h \
		state/LocalStorageProtocol.pb.h \
		ratchet/rootkey.h \
		kdf/hkdf.h \
		ratchet/chainkey.h \
		ratchet/messagekeys.h \
		kdf/derivedmessagesecrets.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o identitykeypair.o identitykeypair.cpp

prekeybundle.o: state/prekeybundle.cpp state/prekeybundle.h \
		ecc/djbec.h \
		identitykey.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o prekeybundle.o state/prekeybundle.cpp

prekeyrecord.o: state/prekeyrecord.cpp 
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o prekeyrecord.o state/prekeyrecord.cpp

LocalStorageProtocol.pb.o: state/LocalStorageProtocol.pb.cc 
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o LocalStorageProtocol.pb.o state/LocalStorageProtocol.pb.cc

sessionrecord.o: state/sessionrecord.cpp state/sessionrecord.h \
		state/sessionstate.h \
		state/LocalStorageProtocol.pb.h \
		identitykey.h \
		ecc/djbec.h \
		ratchet/rootkey.h \
		kdf/hkdf.h \
		ratchet/chainkey.h \
		ratchet/messagekeys.h \
		kdf/derivedmessagesecrets.h \
		ecc/eckeypair.h \
		identitykeypair.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o sessionrecord.o state/sessionrecord.cpp

sessionstate.o: state/sessionstate.cpp state/sessionstate.h \
		state/LocalStorageProtocol.pb.h \
		identitykey.h \
		ecc/djbec.h \
		ratchet/rootkey.h \
		kdf/hkdf.h \
		ratchet/chainkey.h \
		ratchet/messagekeys.h \
		kdf/derivedmessagesecrets.h \
		ecc/eckeypair.h \
		identitykeypair.h \
		ecc/curve.h \
		invalidkeyexception.h \
		whisperexception.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o sessionstate.o state/sessionstate.cpp

messagekeys.o: ratchet/messagekeys.cpp ratchet/messagekeys.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o messagekeys.o ratchet/messagekeys.cpp

aliceaxolotlparameters.o: ratchet/aliceaxolotlparameters.cpp ratchet/aliceaxolotlparameters.h \
		identitykeypair.h \
		ecc/djbec.h \
		identitykey.h \
		ecc/eckeypair.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o aliceaxolotlparameters.o ratchet/aliceaxolotlparameters.cpp

bobaxolotlparameters.o: ratchet/bobaxolotlparameters.cpp ratchet/bobaxolotlparameters.h \
		identitykeypair.h \
		ecc/djbec.h \
		identitykey.h \
		ecc/eckeypair.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o bobaxolotlparameters.o ratchet/bobaxolotlparameters.cpp

chainkey.o: ratchet/chainkey.cpp ratchet/chainkey.h \
		kdf/hkdf.h \
		ratchet/messagekeys.h \
		kdf/derivedmessagesecrets.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o chainkey.o ratchet/chainkey.cpp

ratchetingsession.o: ratchet/ratchetingsession.cpp ratchet/ratchetingsession.h \
		state/sessionstate.h \
		state/LocalStorageProtocol.pb.h \
		identitykey.h \
		ecc/djbec.h \
		ratchet/rootkey.h \
		kdf/hkdf.h \
		ratchet/chainkey.h \
		ratchet/messagekeys.h \
		kdf/derivedmessagesecrets.h \
		ecc/eckeypair.h \
		identitykeypair.h \
		ratchet/aliceaxolotlparameters.h \
		ratchet/bobaxolotlparameters.h \
		ratchet/symmetricaxolotlparameters.h \
		util/byteutil.h \
		ecc/curve.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ratchetingsession.o ratchet/ratchetingsession.cpp

symmetricaxolotlparameters.o: ratchet/symmetricaxolotlparameters.cpp ratchet/symmetricaxolotlparameters.h \
		ecc/eckeypair.h \
		ecc/djbec.h \
		identitykeypair.h \
		identitykey.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o symmetricaxolotlparameters.o ratchet/symmetricaxolotlparameters.cpp

rootkey.o: ratchet/rootkey.cpp ratchet/rootkey.h \
		kdf/hkdf.h \
		ratchet/chainkey.h \
		ratchet/messagekeys.h \
		kdf/derivedmessagesecrets.h \
		ecc/eckeypair.h \
		ecc/djbec.h \
		ecc/curve.h \
		kdf/derivedrootsecrets.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o rootkey.o ratchet/rootkey.cpp

signedprekeyrecord.o: state/signedprekeyrecord.cpp state/signedprekeyrecord.h \
		state/LocalStorageProtocol.pb.h \
		ecc/eckeypair.h \
		ecc/djbec.h \
		ecc/curve.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o signedprekeyrecord.o state/signedprekeyrecord.cpp

senderchainkey.o: groups/ratchet/senderchainkey.cpp groups/ratchet/senderchainkey.h \
		groups/ratchet/sendermessagekey.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o senderchainkey.o groups/ratchet/senderchainkey.cpp

sendermessagekey.o: groups/ratchet/sendermessagekey.cpp groups/ratchet/sendermessagekey.h \
		kdf/hkdf.h \
		util/byteutil.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o sendermessagekey.o groups/ratchet/sendermessagekey.cpp

senderkeyrecord.o: groups/state/senderkeyrecord.cpp groups/state/senderkeyrecord.h \
		groups/state/senderkeystate.h \
		state/LocalStorageProtocol.pb.h \
		ecc/eckeypair.h \
		ecc/djbec.h \
		groups/ratchet/senderchainkey.h \
		groups/ratchet/sendermessagekey.h \
		invalidkeyidexception.h \
		whisperexception.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o senderkeyrecord.o groups/state/senderkeyrecord.cpp

senderkeystate.o: groups/state/senderkeystate.cpp groups/state/senderkeystate.h \
		state/LocalStorageProtocol.pb.h \
		ecc/eckeypair.h \
		ecc/djbec.h \
		groups/ratchet/senderchainkey.h \
		groups/ratchet/sendermessagekey.h \
		ecc/curve.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o senderkeystate.o groups/state/senderkeystate.cpp

WhisperTextProtocol.pb.o: protocol/WhisperTextProtocol.pb.cc protocol/WhisperTextProtocol.pb.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o WhisperTextProtocol.pb.o protocol/WhisperTextProtocol.pb.cc

keyexchangemessage.o: protocol/keyexchangemessage.cpp protocol/keyexchangemessage.h \
		ecc/djbec.h \
		identitykey.h \
		protocol/ciphertextmessage.h \
		protocol/WhisperTextProtocol.pb.h \
		util/byteutil.h \
		ecc/curve.h \
		ecc/eckeypair.h \
		legacymessageexception.h \
		whisperexception.h \
		invalidversionexception.h \
		invalidmessageexception.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o keyexchangemessage.o protocol/keyexchangemessage.cpp

prekeywhispermessage.o: protocol/prekeywhispermessage.cpp protocol/prekeywhispermessage.h \
		protocol/ciphertextmessage.h \
		ecc/djbec.h \
		identitykey.h \
		protocol/whispermessage.h \
		util/byteutil.h \
		invalidkeyexception.h \
		whisperexception.h \
		legacymessageexception.h \
		invalidmessageexception.h \
		invalidversionexception.h \
		ecc/curve.h \
		ecc/eckeypair.h \
		protocol/WhisperTextProtocol.pb.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o prekeywhispermessage.o protocol/prekeywhispermessage.cpp

whispermessage.o: protocol/whispermessage.cpp protocol/whispermessage.h \
		protocol/ciphertextmessage.h \
		ecc/djbec.h \
		identitykey.h \
		util/byteutil.h \
		invalidkeyexception.h \
		whisperexception.h \
		invalidmessageexception.h \
		legacymessageexception.h \
		protocol/WhisperTextProtocol.pb.h \
		ecc/curve.h \
		ecc/eckeypair.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o whispermessage.o protocol/whispermessage.cpp

senderkeymessage.o: protocol/senderkeymessage.cpp protocol/senderkeymessage.h \
		protocol/ciphertextmessage.h \
		ecc/djbec.h \
		util/byteutil.h \
		legacymessageexception.h \
		whisperexception.h \
		invalidmessageexception.h \
		protocol/WhisperTextProtocol.pb.h \
		ecc/curve.h \
		ecc/eckeypair.h \
		invalidkeyexception.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o senderkeymessage.o protocol/senderkeymessage.cpp

senderkeydistributionmessage.o: protocol/senderkeydistributionmessage.cpp protocol/senderkeydistributionmessage.h \
		protocol/ciphertextmessage.h \
		ecc/djbec.h \
		protocol/WhisperTextProtocol.pb.h \
		util/byteutil.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o senderkeydistributionmessage.o protocol/senderkeydistributionmessage.cpp

sessioncipher.o: sessioncipher.cpp sessioncipher.h \
		state/sessionstore.h \
		state/sessionrecord.h \
		state/sessionstate.h \
		state/LocalStorageProtocol.pb.h \
		identitykey.h \
		ecc/djbec.h \
		ratchet/rootkey.h \
		kdf/hkdf.h \
		ratchet/chainkey.h \
		ratchet/messagekeys.h \
		kdf/derivedmessagesecrets.h \
		ecc/eckeypair.h \
		identitykeypair.h \
		sessionbuilder.h \
		state/signedprekeystore.h \
		state/signedprekeyrecord.h \
		state/prekeybundle.h \
		state/prekeystore.h \
		state/prekeyrecord.h \
		ecc/curve.h \
		state/identitykeystore.h \
		state/axolotlstore.h \
		protocol/prekeywhispermessage.h \
		protocol/ciphertextmessage.h \
		protocol/whispermessage.h \
		util/byteutil.h \
		protocol/keyexchangemessage.h \
		nosessionexception.h \
		whisperexception.h \
		invalidmessageexception.h \
		invalidkeyexception.h \
		duplicatemessageexception.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o sessioncipher.o sessioncipher.cpp

sessionbuilder.o: sessionbuilder.cpp sessionbuilder.h \
		state/sessionstore.h \
		state/sessionrecord.h \
		state/sessionstate.h \
		state/LocalStorageProtocol.pb.h \
		identitykey.h \
		ecc/djbec.h \
		ratchet/rootkey.h \
		kdf/hkdf.h \
		ratchet/chainkey.h \
		ratchet/messagekeys.h \
		kdf/derivedmessagesecrets.h \
		ecc/eckeypair.h \
		identitykeypair.h \
		state/signedprekeystore.h \
		state/signedprekeyrecord.h \
		state/prekeybundle.h \
		state/prekeystore.h \
		state/prekeyrecord.h \
		ecc/curve.h \
		state/identitykeystore.h \
		state/axolotlstore.h \
		protocol/prekeywhispermessage.h \
		protocol/ciphertextmessage.h \
		protocol/whispermessage.h \
		util/byteutil.h \
		protocol/keyexchangemessage.h \
		untrustedidentityexception.h \
		whisperexception.h \
		invalidkeyidexception.h \
		invalidkeyexception.h \
		invalidmessageexception.h \
		stalekeyexchangeexception.h \
		ratchet/bobaxolotlparameters.h \
		ratchet/ratchetingsession.h \
		ratchet/aliceaxolotlparameters.h \
		ratchet/symmetricaxolotlparameters.h \
		util/medium.h \
		util/keyhelper.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o sessionbuilder.o sessionbuilder.cpp

qcryptographichash.o: qcryptographichash/qcryptographichash.cpp qcryptographichash/hashes/sha1/sha1.cpp \
		qcryptographichash/hashes/md5/md5.h \
		qcryptographichash/hashes/md5/md5.cpp \
		qcryptographichash/hashes/md4/md4.h \
		qcryptographichash/hashes/md4/md4.cpp \
		qcryptographichash/hashes/sha3/KeccakSponge.c \
		qcryptographichash/hashes/sha3/KeccakSponge.h \
		qcryptographichash/hashes/sha3/KeccakF-1600-interface.h \
		qcryptographichash/hashes/sha3/KeccakF-1600-int-set.h \
		qcryptographichash/hashes/sha3/KeccakNISTInterface.c \
		qcryptographichash/hashes/sha3/KeccakF-1600-opt64.c \
		qcryptographichash/hashes/sha3/brg_endian.h \
		qcryptographichash/hashes/sha3/KeccakF-1600-opt64-settings.h \
		qcryptographichash/hashes/sha3/KeccakF-1600-64.macros \
		qcryptographichash/hashes/sha3/KeccakF-1600-unrolling.macros \
		qcryptographichash/hashes/sha3/KeccakF-1600-opt32.c \
		qcryptographichash/hashes/sha3/KeccakF-1600-opt32-settings.h \
		qcryptographichash/hashes/sha3/KeccakF-1600-32.macros \
		qcryptographichash/hashes/sha3/KeccakF-1600-32-rvk.macros \
		qcryptographichash/hashes/rfc6234/sha.h \
		qcryptographichash/hashes/rfc6234/sha224-256.c \
		qcryptographichash/hashes/rfc6234/sha-private.h \
		qcryptographichash/hashes/rfc6234/sha384-512.c
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qcryptographichash.o qcryptographichash/qcryptographichash.cpp

qmessageauthenticationcode.o: qmessageauthenticationcode/qmessageauthenticationcode.cpp qmessageauthenticationcode/qmessageauthenticationcode.h \
		qcryptographichash/qcryptographichash.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qmessageauthenticationcode.o qmessageauthenticationcode/qmessageauthenticationcode.cpp

####### Install

install_target: first FORCE
	@$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/lib/ || $(MKDIR) $(INSTALL_ROOT)/usr/lib/ 
	-$(INSTALL_PROGRAM) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib/$(TARGET)"
	-$(STRIP) --strip-unneeded "$(INSTALL_ROOT)/usr/lib/$(TARGET)"
	-$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib/$(TARGET0)"
	-$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib/$(TARGET1)"
	-$(SYMLINK) "$(TARGET)" "$(INSTALL_ROOT)/usr/lib/$(TARGET2)"

uninstall_target:  FORCE
	-$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib/$(TARGET)" 
	 -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib/$(TARGET0)" 
	 -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib/$(TARGET1)" 
	 -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib/$(TARGET2)"
	-$(DEL_DIR) $(INSTALL_ROOT)/usr/lib/ 


install:  install_target  FORCE

uninstall: uninstall_target   FORCE

FORCE:

