私は、すべての主要なオペレーティング システム用にコンパイルできる C プログラムを作成する方法を見つけようとしています。ターゲットOSを変えるだけでいいので、makefileを使うことも考えたのですが、いくつか問題があります。私の最初の問題は、ターゲット OS を変更して、1 つの OS でコンパイルし、すべての OS でアプリケーションを使用できるようにする方法がわからないことです。2 つ目の問題は、src ディレクトリ内のすべての .c ファイルを自動的にコンパイルする方法がわからないため、新しいファイルを追加するたびに makefile を変更する必要がないことです。誰もこれを行う方法を知っていますか?
私の現在のmakefile(現在、ここから変更されていません)
CC=gcc
CFLAGS=-c -Wall
LDFLAGS=
SOURCES=main.cpp hello.cpp factorial.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=hello
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o $@
.cpp.o:
$(CC) $(CFLAGS) $< -o $@q2