我一直在尝试创建一个可以编译为所有主要操作系统的C程序。我考虑使用makefile,这样我只需要更改目标操作系统,但是我有几个问题。我的第一个问题是,我无法弄清楚如何更改目标操作系统,以便我可以在一个操作系统上编译,但在所有操作系统上使用应用程序。我的第二个问题是,我无法找到自动编译src目录中所有.c文件的方法,因此我不必每次添加新文件时修改makefile。有人知道如何做这些吗?
我的当前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