繁体   English   中英

操作系统检测Makefile

[英]OS detection Makefile

这是我的makefile,直到今天我再也没有尝试过在其中使用操作系统检测。 我的看起来像这样:

CC  = gcc
CFLAGS = -Wall -Wextra -O1 -Wuninitialized
OUT = project.exe

ifeq ($(UNAME),Darwin) #Mac OS
    echo "Darwin"
    SRC = sdl_gui.c libSDLextra.c libImageProcessing.c SDLmain.m
    OBJ = sdl_gui.o libSDLextra.o libImageProcessing.o SDLmain.o
    LIBS = -I /Library/Frameworks/SDL.framework/Headers -framework SDL -I /Library/Frameworks/SDL_ttf.framework/Versions/A/Headers -framework SDL_ttf -framework Cocoa
endif

ifeq ($(UNAME),Linux) #Linux based systems
    SRC = sdl_gui.c libSDLextra.c libImageProcessing.c
    OBJ = sdl_gui.o libSDLextra.o libImageProcessing.o
    LIBS = -lSDL -lSDL_ttf
endif

all : $(OUT)

$(OUT) : $(OBJ)
    $(CC) $(CFLAGS) $(OBJ) -o $(OUT)

$(OBJ) : $(SRC)
    $(CC) $(CFLAGS) -c $(SRC)

clean :
    rm -f $(OBJ) $(OUT)

当我make我得到这个错误:

gcc -Wall -Wextra -O1 -Wuninitialized  -o projet.exe
clang: error: no input files
make: *** [projet.exe] Error 1

我理解该错误,但不知道如何解决。

您似乎在文件顶部(附近)缺少此功能:

UNAME := $(shell uname)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM