makefile

makefile

环境为windows10

  • 安装gcc编译器,配置环境变量PATH=安装目录/bin,即含有gcc.exe的目录(否则你在使用make命令时得输入mingw32-make.exe的全路径);复制一份该目录下的mingw32-make.exe的副本并重命名为make(否则你需要执行mingw32-make,而不是make)

  • 创建makefile文件(不需要后缀名,否则你得在执行make的时候输入全名,比如make makefile.txt

  • (在makefile所在目录下,否则你还得输入makefile的全路径)执行make命令

变量

  • 可以定义一些变量,然后用$(变量)来使用
  • 变量可以放在后边定义,不一定要放在最前边
main.o: main.c
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<

CC = gcc
CFLAGS = -O -g
CPPFLAGS = -Iinclude

参考:3. 变量 (akaedu.github.io)

opengl glfw+glad库的makefile

CC = gcc
CXX = g++

COMPILE_FLAGS = -Wall -ggdb -O3
LINK_FLAGS = -lglfw3 -lopengl32 -lglu32 -lgdi32

projectpath = D:\UnityProject\LearnOpenGL\Opengl
glfw = $(projectpath)/glfw-3.3.6.bin.WIN64
glfw_inc = $(glfw)/include
glfw_lib = $(glfw)/lib-mingw-w64

glad = $(projectpath)/glad
glad_inc = $(glad)/include
glad_src = $(glad)/src/glad.c

INCLUDES = -I$(glfw_inc) -I$(glad_inc) -I$(projectpath)/MyWindow
LIBRARIES = -L$(glfw_lib)

cpp_files = main.cpp
objects = $(cpp_files:.cpp=.o)
headers = $(projectpath)/MyWindow/MyWindow.h

all: main.exe

main.exe: $(objects) glad.o
	$(CXX) $(LIBRARIES) -o main.exe $(objects) glad.o $(LINK_FLAGS)

$(objects): %.o: %.cpp $(headers) makefile
	$(CXX) $(COMPILE_FLAGS) $(INCLUDES) -c -o $@ $<
	
#glad.c is in glad/src, so we need full path
glad.o: $(glad_src)
	$(CC) $(COMPILE_FLAGS) $(INCLUDES) -c -o glad.o $(glad_src)
		
.PHONY : clean
clean:
	del *.o main.exe -rf

参考:Makefile for C++ OpenGL with GLFW and glad - Code Review Stack Exchange

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值