Теперь, чтобы продолжить, мне нужно изменить представление существующего Makefile.Как написать makefile для создания объектных файлов и исполняемых файлов в разных каталогах?
В настоящее время я использую:
~/Linuz/src: 1.c, 2.c, 3.c ...
~/Linuz/inc: abc.h, xyz.h
и Makefile в: ~/Linuz/some_other_dir/
Но нужно изменить структуру.
- Хочет создать библиотеку из (
~/Linuz/src/
и~/linuz/inc
) - библиотеки будет использоваться для получения исполняемого файла. Исходные файлы приложений (файлы .c) находятся в
~/Linuz/app/
~/Linuz/bin/
должно быть создано во время компиляции для хранения всех объектных файлов и исполняемого файла.
Любые предложения?
Моя Makefile выглядит следующим образом:
all: Library.a
%.o: ../src/%.c
$(CC) $(CFLAGS) -I../inc/ -c -o [email protected] $^
Library.a: $(SRC_DIR)/1.c $(SRC_DIR)/2.c $(SRC_DIR)/3.c $(SRC_DIR)/4.c $(SRC_DIR)/5.c
$(CC) $(LDFLAGS) -o [email protected] $^
all: prog
%.o: ./*.c
$(CC) $(CFLAGS) -ILibrary.a -c -o [email protected] $^
prog: $(APP_DIR)/app1.c $(APP_DIR)/app2.c $(APP_DIR)/app3.c
clean:
rm -f *.o my_program
@linuz положите его на свой вопрос – MOHAMED
@Linuz: Хорошо, можете ли вы отредактировать свой вопрос, включив его, а также объяснение, какие у вас были проблемы? –
Обновленный вопрос :) – San