Как автоматически сделать исполняемый файл с источника, находящегося за пределами своей папки
всем привет
У меня есть следующий makefile
TARGET := test.so DEFINES := CC := g++ CFLAGS := -Wall -O3 -c -fpic -I$(INCLUDES) LDFLAGS := -lrt -ldl -lpthread -s -shared -fpic SRCS := ./main.cpp \ ../../src/test.cpp INCLUDES = -I../../inc ########################### OBJS := $(patsubst %.cpp,%.o,$(SRCS)) all: $(TARGET) $(TARGET): $(OBJS) $(CC) $(LDFLAGS) -o $@ $^ %.o: %.cpp $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -c $< clean: rm -rf $(TARGET) *.o ./.depend depend: .depend .depend: $(SRCS) rm -rf ./.depend $(CC) $(CFLAGS) $(DEFINES) -MM $^>>./.depend include .depend .PHONY: all clean
после запуска я получил ниже ошибки
g++: error: ../../src/test.o: No such file or directory
Что я уже пробовал:
это верно, мой тестовый файл.o построен рядом с основным файлом.o
когда я запустил следующую команду отдельно в терминале my .so, она была успешно построена
g++ -lrt -ldl -lpthread -s -shared -fpic -o test.so main.o test.o
как можно автоматически реализовать такое поведение?