aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile44
1 files changed, 14 insertions, 30 deletions
diff --git a/Makefile b/Makefile
index 0d2c34c..d6032e3 100644
--- a/Makefile
+++ b/Makefile
@@ -1,39 +1,23 @@
-CC=g++
LIBS=libconfuse opencv4
-CFLAGS=-c -Wall -fPIC -std=c++20 -Wno-deprecated-enum-enum-conversion
-LDFLAGS=
-SOURCES=src/annotator.cc src/labeller.cc src/playback.cc src/settings.cc src/ui.cc
+override CXXFLAGS += -c -Wall -fPIC -std=c++20 -Wno-deprecated-enum-enum-conversion `pkg-config $(LIBS) --cflags`
+override LDFLAGS += `pkg-config $(LIBS) --libs`
+SOURCES=$(wildcard src/*.cc)
OBJECTS=$(SOURCES:.cc=.o)
-LIBRARY=
+DEPS = $(OBJECTS:.o=.d)
EXECUTABLE=annotator
-ifeq ($(PREFIX),)
- PREFIX := /usr
-endif
-
-all: $(SOURCES) $(EXECUTABLE)
-
-install: $(EXECUTABLE)
- install -d $(DESTDIR)$(PREFIX)/bin/
- install -m 755 $(EXECUTABLE) $(DESTDIR)$(PREFIX)/bin/
+prefix ?= /usr
+exec_prefix ?= $(prefix)
+bindir ?= $(exec_prefix)/bin
$(EXECUTABLE): $(OBJECTS)
- $(CC) $(OBJECTS) -o $@ $(LDFLAGS) `pkg-config $(LIBS) --libs`
-
+ $(CXX) $(OBJECTS) -o $@ $(LDFLAGS)
-src/annotator.o: src/annotator.cc src/playback.h src/ui.h src/labeller.h
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
+-include $(DEPS)
-src/labeller.o: src/labeller.cc src/labeller.h src/settings.h
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-src/playback.o: src/playback.cc src/playback.h
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-src/settings.o: src/settings.cc src/settings.h
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-src/ui.o: src/ui.cc src/ui.h src/playback.h src/labeller.h
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
+install: $(EXECUTABLE)
+ install -d $(DESTDIR)$(bindir)
+ install -m 755 $(EXECUTABLE) $(DESTDIR)$(bindir)
+.PHONY: clean
clean:
- rm -f src/*.o $(LIBRARY) $(EXECUTABLE)
+ $(RM) $(OBJECTS) $(DEPS) $(EXECUTABLE)