Files
manigraph/Makefile
2024-10-30 22:43:10 -06:00

58 lines
1.2 KiB
Makefile

BIN = manigraph
OBJ = \
ext/glad/glad.o \
src/surface.o \
src/context.o \
src/texture.o \
src/window.o \
src/matrix.o \
src/shader.o \
src/input.o \
src/mesh.o \
src/main.o
CFLAGS = \
-I./ext/cglm/include \
-I./ext/glfw/include \
-I./ext/glad \
-Wall -Wno-unused-function -std=c99 -D_GNU_SOURCE \
help:
@echo "Para compilar el proyecto a tu sistema operativo"
@echo "porfavor usa uno de los siguientes comandos:"
@echo " $(MAKE) windows"
@echo " $(MAKE) linux-x11"
@echo " $(MAKE) linux-wayland"
@echo " $(MAKE) cocoa"
@echo "Para limpiar los archivos compilados se puede usar"
@echo " $(MAKE) clean"
src/main.o: src/data/axis.h src/data/shaders.h
windows: $(OBJ)
cd ext; $(MAKE) -f glfw.mk windows; cd -
$(CC) $(CFLAGS) $(OBJ) -o $(BIN) -L. -lglfw -lopengl32
linux-wayland: $(OBJ)
cd ext; $(MAKE) -f glfw.mk linux-wayland; cd -
$(CC) -o $(BIN) $(OBJ) ext/libglfw.a -lGL -lm
linux-x11: $(OBJ)
cd ext; $(MAKE) -f glfw.mk linux-x11; cd -
$(CC) -o $(BIN) $(OBJ) ext/libglfw.a -lGL -lm
cocoa: $(OBJ)
cd ext; $(MAKE) -f glfw.mk cocoa; cd -
$(CC) -framework OpenGL -o $(BIN) $(OBJ) ext/glfw.a -lGL -lglfw
clean:
rm $(OBJ) $(BIN)
cd ext; $(MAKE) -f glfw.mk clean; cd -
.SUFFIXES: .c .o
.c.o:
$(CC) $(CFLAGS) -c -o $@ $<