Суть проблемы в том, что вы включаете флаги ссылки в команду компиляции, а не саму команду ссылки.
Удалите --libs glib-2.0
из CFLAGS
и добавьте его в новую переменную LFLAGS
, который можно использовать в строке ссылки ...
exec: bin/test
bin/test
clean:
rm -f build/* bin/*
CFLAGS = -g -Wall -Wpedantic -Wno-padded -O $(shell pkg-config --cflags glib-2.0)
LFLAGS = $(shell pkg-config --libs glib-2.0)
INCLUDES = include/*.h
COMMON_DEPS = $(INCLUDES) Makefile
build/%.o: src/%.c $(COMMON_DEPS)
$(CC) $(CFLAGS) -c $< -o $@
bin/test: /* functions.o*/ $(COMMON_DEPS)
$(CC) $(LFLAGS) -o bin/test /* functions.o*/
[Примечание: я оставил остальную часть make-файла без изменений, но спецификация зависимости для bin/test
выглядит очень странно.]