BIN = manigraph OBJ = \ 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 \ -Wall -Wno-unused-function -std=c99 \ -D_XOPEN_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" @echo "Para ejecturar el programa sin instalarlos se puede usar:" @echo " $(MAKE) run-linux" # WINDOWS windows: $(OBJ) glfw.dll $(CC) -L. -lGL -lglfw -o $(BIN).exe $(OBJ) glfw.dll: $(CC) -fPIC -shared -D_GLFW_WIN32 -D_GLFW_BUILD_DLL ./ext/glfw/src/*.c -o $@ # LINUX linux-x11: $(OBJ) $(MAKE) BKN=_GLFW_X11 libglfw.so $(CC) -L. -lGL -lglfw -o $(BIN) $(OBJ) linux-wayland: $(OBJ) $(MAKE) BKN=_GLFW_WAYLAND libglfw.so $(CC) -L. -lGL -lglfw -o $(BIN) $(OBJ) run-linux: LD_LIBRARY_PATH=. ./$(BIN) # COCOA cocoa: $(OBJ) $(MAKE) BKN=_GLFW_COCOA libglfw.so $(CC) -framework OpenGL -L. lglfw -o $(BIN) $(OBJ) libglfw.so: $(CC) -fPIC -shared -D$(BKN) -D_GLFW_BUILD_DLL ./ext/glfw/src/*.c -o $@ clean: rm $(OBJ) $(BIN) .SUFFIXES: .c .o .c.o: $(CC) $(CFLAGS) -c -o $@ $<