0

共通のファイルに依存する 2 つの別個の実行可能ファイルを作成するメイクファイルを作成する際に助けが必要です。したがって、Master.c Common.c Worker.c の 3 つのソース ファイルと、それに対応する 3 つのヘッダー ファイルがあります。現在、Master.c には Master.h と Common.h が含まれています。同様に、Worker.c には Worker.h と Common.h が含まれます。同じメイクファイルを使用して、Master と Worker という 2 つの実行可能ファイルを作成したいと考えています。次のメイクファイルがありますが、Common.h で宣言されたグローバル変数ごとにmakeと入力すると「複数の宣言」というエラーが表示されるため、正しく機能していません。すべてのヘッダー ファイルで #indef、#define、および #endif を使用していることに注意してください。

CC = gcc
CFLAGS= -g -I -pthread -lpthread -std=c99
DEPS = Common.h
OBJ1 = Master.o Common.o 
OBJ2 = Worker.o Common.o 

%.o: %.c $(DEPS)
     $(CC) -c -o $@ $< $(CFLAGS)

all: Master Worker

Master: $(OBJ1)
     gcc -o $@ $^ $(CFLAGS)

Worker: $(OBJ2)
     gcc -o $@ $^ $(CFLAGS)

clean:
        rm -f *.o

助けてください

4

2 に答える 2