72 lines
1.3 KiB
Makefile
72 lines
1.3 KiB
Makefile
#PREFIX = x86_64-w64-mingw32-
|
|
CC=$(PREFIX)gcc
|
|
CXX=$(PREFIX)g++
|
|
|
|
OPT = -O0 -march=x86-64-v3
|
|
|
|
CSTD = -std=gnu23
|
|
CXXSTD = -std=gnu++23
|
|
CFLAGS += -g
|
|
CFLAGS += -fpic
|
|
CFLAGS += -I./include
|
|
CFLAGS += -Wall -Werror -Wfatal-errors -Wno-error=unused-variable -Wno-error=unused-but-set-variable
|
|
CFLAGS += -Wno-error=unknown-pragmas -Wno-unknown-pragmas
|
|
CFLAGS += $(shell pkg-config --cflags glfw3)
|
|
CFLAGS += -fno-strict-aliasing
|
|
|
|
LDFLAGS += -lm
|
|
LDFLAGS += $(shell pkg-config --libs glfw3)
|
|
|
|
OBJS = \
|
|
src/gl.o \
|
|
src/opengl.o \
|
|
src/test.o \
|
|
src/font.o \
|
|
src/window.o \
|
|
src/bresenham.o \
|
|
src/file.o \
|
|
src/world.o \
|
|
src/inthash.o \
|
|
src/non_block.o \
|
|
src/view.o \
|
|
src/minecraft.o \
|
|
src/hud.o \
|
|
src/lighting.o \
|
|
src/collision_scene.o \
|
|
src/line_art.o \
|
|
src/boids.o \
|
|
src/boids_scene.o \
|
|
src/dds_validate.o \
|
|
src/collada/scene.o \
|
|
src/collada/effect.o \
|
|
src/collada/node_state.o \
|
|
data/scenes/ship20/ship20.o
|
|
|
|
all: test.so
|
|
|
|
%.o: %.c
|
|
$(CC) $(ARCH) $(CSTD) $(CFLAGS) $(OPT) -c $< -o $@
|
|
|
|
%.o: %.cpp
|
|
$(CXX) $(ARCH) $(CXXSTD) $(CFLAGS) $(OPT) -c $< -o $@
|
|
|
|
test.so: $(OBJS)
|
|
$(CC) $(ARCH) $(OPT) -shared -g $^ -o $@ -lSDL3
|
|
|
|
main: $(OBJS) src/main.o
|
|
$(CC) $(ARCH) $(LDFLAGS) $(OPT) -g $^ -o $@
|
|
|
|
clean:
|
|
find . -type f ! -name "*.*" -delete
|
|
|
|
.SUFFIXES:
|
|
.INTERMEDIATE:
|
|
.SECONDARY:
|
|
.PHONY: all clean phony
|
|
|
|
%: RCS/%,v
|
|
%: RCS/%
|
|
%: %,v
|
|
%: s.%
|
|
%: SCCS/s.%
|