-PROJ := elfedit
+PROJ := elfucli
+
+LIBRARIES := libelf
BUILDDIR := build
INCLUDEDIR := include
SOURCES := $(shell find $(SRCDIR)/ -iname "*.c")
OBJS := $(patsubst %.c, $(BUILDDIR)/%.o, $(SOURCES))
-INCLUDES := $(patsubst %, -I%, $(INCLUDEDIR) $(SRCDIR))
-CFLAGS := -g -Wall
-LDFLAGS := -lelf
+INCLUDES := $(patsubst %, -I%, $(INCLUDEDIR) $(SRCDIR)) $(shell pkg-config --cflags-only-I $(LIBRARIES))
+CFLAGS := -g -Wall -pedantic -Wno-variadic-macros $(shell pkg-config --cflags-only-other $(LIBRARIES))
+LDFLAGS := $(shell pkg-config --libs $(LIBRARIES))
.PHONY: check
check: $(EXE)
- $(EXE) $(EXE) -o testexe
- @cmp $(EXE) testexe
- @rm testexe
- @echo "Check successful."
+ make -C tests check
.PHONY: debug
rm -f $(OBJS)
rm -f $(TESTEXES)
rm -rf $(BUILDDIR)/
+ make -C tests clean
.PHONY: distclean