さらに先に進むには、既存の 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/
すべてのオブジェクト ファイルと実行可能ファイルを格納するために、コンパイル中に作成する必要があります。
助言がありますか ??
私のメイクファイルは次のようになります。
all: Library.a
%.o: ../src/%.c
$(CC) $(CFLAGS) -I../inc/ -c -o $@ $^
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 $@ $^
all: prog
%.o: ./*.c
$(CC) $(CFLAGS) -ILibrary.a -c -o $@ $^
prog: $(APP_DIR)/app1.c $(APP_DIR)/app2.c $(APP_DIR)/app3.c
clean:
rm -f *.o my_program