用于编译 Allegro5 c 程序的 Makefile

Makefile for compiling Allegro5 c program

我使用 Allegro 5 库用 c 编写了一个小游戏。我需要在通用 linux 环境中编译和 运行 它,所以我尝试做一个 makefile 以便于编译它。

CFLAGS = -Wall -c
EFLAGS =
EOPTION = `pkg-config --cflags --libs allegro-5.0 allegro_primitives-5.0 allegro_font-5.0 allegro_audio-5.0 allegro_ttf-5.0 allegro_image-5.0 allegro_acodec-5.0` -lm
OBJFOLD = objectfiles
SOURCE = #all my source codes.
OBJECT = #all my object files.
EXC = Foo

all: $(SOURCE) $(EXC)

$(EXC): $(OBJECT)
    gcc $(EFLAGS) -o $(EXC) $(OBJECT) $(EOPTION) 

$(OBJFOLD)/%.o: %.c
    gcc $(CFLAGS) $< -o $@

$(OBJFOLD)/%.o: libraries/%.c
    gcc $(CFLAGS) $< -o $@

它在我安装了 Allegro 5 库的计算机上工作正常,但我需要它在 Linux Os 上工作,只需 运行 生成文件(因此无需安装Allegro 5 次)。我的项目文件夹的结构是:

- Project
    -allegro5
    -bin
    -fonts
    -images
    -include
    -libraries
    -objectfiles
    -sounds

所以,我在 $(OBJFOLD)/%.o 目标的指令中添加了选项“-Iallegro5/include”,但是当我尝试 运行 生成文件时,它 return:

$ make -f Makefile
gcc -Wall -c Main.c -o objectfiles/Main.o -Iallegro5/include
In file included from allegro5/include/allegro5/internal/alconfig.h:35:0,
                 from allegro5/include/allegro5/base.h:50,
                 from allegro5/include/allegro5/allegro.h:26,
                 from Main.c:3:
allegro5/include/allegro5/platform/almngw32.h:23:20: fatal error: direct.h: No such file or directory
 #include "allegro5/platform/alplatf.h"
                                       ^
compilation terminated.

我觉得我走的路完全错了,有人能帮帮我吗?
我现在正在我的 Windows 电脑上使用 Cygwin 环境,我从 here 下载我的 "allegro5" 文件夹。 我更喜欢使用 makefile 来解决它。

不应该是-Iallegro5/include吗?? (大写i,不小L)