CXX = g++
CXXFLAGS = -Wall -fomit-frame-pointer -O3 -DNDEBUG 
#CXXFLAGS = -Wall -mmmx -msse3 -ggdb3
RM = rm

LIBS = "-L../vtapi/dist/ -lvtapi " 
INCS = "-I../vtapi/include/" 

.PHONY: all clean cleanall

%.o: %.cpp
	$(CXX) $(CXXFLAGS) $(INCS) -c $< -o $@
        
%.s: %.cpp
	$(CXX) $(CXXFLAGS) $(INCS) -S $< -o $@

all: get_seqvences get_images create_new_sequence upload_photo upload_photo_2 remove_sequence remove_image create_new_sequence_name trecvid_annotation_importer get_tags get_tag_names get_tags_from_sequence update_tags

get_seqvences: get_segvences.o JSON.o JSONValue.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi

get_images: get_images.o JSON.o JSONValue.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi

upload_photo: upload_photo.o JSON.o JSONValue.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi

upload_photo_2: upload_photo_2.o JSON.o JSONValue.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi

create_new_sequence: create_new_sequence.o JSON.o JSONValue.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi

create_new_sequence_name: create_new_sequence_name.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi

remove_sequence: remove_sequence.o JSON.o JSONValue.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi

remove_image: remove_image.o JSON.o JSONValue.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi

trecvid_annotation_importer: trecvid_annotation_importer.o JSON.o JSONValue.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi 

get_tags: get_tags.o JSON.o JSONValue.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi 

update_tags: update_tags.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi 

get_tag_names: get_tag_names.o JSON.o JSONValue.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi 

get_tags_from_sequence: get_tags_from_sequence.o JSON.o JSONValue.o
	$(CXX) $(CXXFLAGS) $^ -o $@ $(INCS) $(LIBS) -L../vtapi/dist/ -lvtapi 

clean:
	$(RM) *.o
