TARGETS := $(TARGETS) $(BIN)/dsa dsa_OBJS := $(OBJ)/BinaryIndexTree.o $(OBJ)/DisjointSet.o $(OBJ)/KD_Tree.o $(OBJ)/MergeableHeap.o $(OBJ)/SegmentTree.o $(OBJ)/SplayTree.o $(OBJ)/SplayTree_Range.o $(OBJ)/VP_Tree.o dsa_LIBS := $(BIN)/dsa: $(OBJ)/dsa.o $(dsa_OBJS) @echo Target: $@... @$(CXX) $^ $(CXXFLAGS) `pkg-config --cflags --libs $(dsa_LIBS) 2>/dev/null` -o $@ TARGETS := $(TARGETS) $(BIN)/autostitch autostitch_OBJS := $(OBJ)/autostitch_FeaturePointsDetector_Harris.o $(OBJ)/autostitch_K_Match.o $(OBJ)/autostitch_RansacCheck.o autostitch_LIBS := opencv $(BIN)/autostitch: $(OBJ)/autostitch.o $(autostitch_OBJS) @echo Target: $@... @$(CXX) $^ $(CXXFLAGS) `pkg-config --cflags --libs $(autostitch_LIBS) 2>/dev/null` -o $@ TARGETS := $(TARGETS) $(BIN)/oo oo_OBJS := oo_LIBS := $(BIN)/oo: $(OBJ)/oo.o $(oo_OBJS) @echo Target: $@... @$(CXX) $^ $(CXXFLAGS) `pkg-config --cflags --libs $(oo_LIBS) 2>/dev/null` -o $@ TARGETS := $(TARGETS) $(BIN)/rot_bundle rot_bundle_OBJS := rot_bundle_LIBS := opencv $(BIN)/rot_bundle: $(OBJ)/rot_bundle.o $(rot_bundle_OBJS) @echo Target: $@... @$(CXX) $^ $(CXXFLAGS) `pkg-config --cflags --libs $(rot_bundle_LIBS) 2>/dev/null` -o $@ TARGETS := $(TARGETS) $(BIN)/features features_OBJS := features_LIBS := opencv $(BIN)/features: $(OBJ)/features.o $(features_OBJS) @echo Target: $@... @$(CXX) $^ $(CXXFLAGS) `pkg-config --cflags --libs $(features_LIBS) 2>/dev/null` -o $@