1
這是我用來構建庫的makefile。它運作良好。但它總是重新編譯所有文件。我已經聲明.PHONY。問題仍然存在。Makefile - 每次編譯所有文件
PROGRAM=mylib
[...]
OBJS= dir/file1.o \
dir/file2.o
SRC= $(addprefix dir/,$(OBJS))
.PHONY: all clean install
all: ${SRC}
${CC} --shared -o lib${PROGRAM}.so ${OBJS}
%.o: %.c
${CC} -c ${MY_CFLAGS} $*.c ${INCLUDES}
另外,如果我的Makefile有任何主要問題,請評論。
文件樹如下:
my_lib
├── include
│ ├── file1.h
└── src
├── file1.c
├── file2.c
嗨帕特里克。我用文件的樹結構更新了我的帖子。我已經命名爲SRC_FILES,但我的意思是OBJ_FILES本身。對於我的樹結構來說,編譯你的更改失敗了:「make:***沒有規則可以讓'lib1x.so'所需的目標'file1.c'停止。」我仍在看我的變化是否糟糕。謝謝 –
$ {OBJECT_FILES}必須包含src/file1.o是file1.c位於src/ –
完美!!謝謝。 :) –