0

次のメイクファイルがあります。

CC = g++
CFLAGS=-c -Wall


all: myProgram

myProgram: obj/main.o obj/Class1.o obj/Class2.o 
    $(CC) -o bin/myProgram obj/main.o obj/Class1.o obj/Class2.o 

obj/main.o: main.cpp  
    $(CC) $(CFLAGS) main.cpp -o obj/main.o

obj/Class1.o: src/Class1.cpp
    $(CC) $(CFLAGS) src/Class1.cpp -o obj/Class1.o

obj/Class2.o: src/Class2.cpp
    $(CC) $(CFLAGS) src/Class2.cpp -o obj/Class2.o

アイデアは、ファイル/ディレクトリのそのような構造を持っているということです:

/project
    Makefile
    main.cpp
    /src
        Class1.cpp
        Class2.cpp
    /obj
        Class1.obj
        Class2.obj
    /bin
        myProgram
    /inc
        Class1.h
        Class2.h

makefile は、これらのディレクトリにあるソース ファイルとオブジェクト ファイルを取得し、/bin に として出力しますmyProgram

私のメイクファイルはあまり理想的ではないかもしれませんが、とにかく. メイクファイルの作成方法を学びたいのですが、知識を向上させるための次のステップとして、メイクファイルに何を追加するか、またはメイクファイルについてさらに学ぶことをお勧めしますか? (私はメイクファイルを知る必要があるプロジェクトに取り組んでいるかもしれないので、それらを学ぼうとしています)

4

2 に答える 2

0

これは非常に一般的な質問です..でも、少し答えられるかどうか見てみましょう

  • clean と呼ばれるターゲット - 必要
  • 再帰的なmakefileは学ぶのに役立つかもしれません
  • cpp ファイルと obj ファイルのリストを含む変数を使用し、それらを入力しないようにしてください。

genmake.plを試してみてください。適切なデフォルト構造が得られます。

于 2013-06-26T06:43:03.160 に答える