53 lines
1019 B
Makefile
53 lines
1019 B
Makefile
SDL ?= ../SDL3-3.4.0
|
|
|
|
DEBUG = -g -gdwarf-4
|
|
|
|
CSTD += -std=gnu11
|
|
CXXSTD += -std=gnu++14
|
|
|
|
CFLAGS += -Iinclude/
|
|
CFLAGS += -Wall -Werror -Wfatal-errors
|
|
CFLAGS += -Wno-error=unused-function
|
|
CFLAGS += -I$(SDL)/include -D_REENTRANT
|
|
CXXFLAGS += -fno-exceptions
|
|
LDFLAGS += -L$(SDL)/build -lSDL3 -Wl,-rpath=$(SDL)/build
|
|
LDFLAGS += -nostdlib++
|
|
LDFLAGS += -lm
|
|
LDFLAGS += -static-libgcc
|
|
|
|
DEPFLAGS = -MMD -MP
|
|
|
|
OPT = -Og
|
|
|
|
all: main
|
|
|
|
clean:
|
|
rm -f *.o *.d *.gch
|
|
rm -f main
|
|
|
|
%.o: %.cpp
|
|
$(CXX) $(CXXSTD) $(ARCH) $(CFLAGS) $(OPT) $(DEBUG) $(DEPFLAGS) -MF ${<}.d -c $< -o $@
|
|
|
|
%.o: %.c
|
|
$(CC) $(CSTD) $(ARCH) $(CFLAGS) $(CXXFLAGS) $(OPT) $(DEBUG) $(DEPFLAGS) -MF ${<}.d -c $< -o $@
|
|
|
|
MAIN_OBJS = \
|
|
$(patsubst %.c,%.o,$(shell find src/ -type f -name '*.c')) \
|
|
$(patsubst %.cpp,%.o,$(shell find src/ -type f -name '*.cpp'))
|
|
|
|
main: $(MAIN_OBJS)
|
|
$(CXX) $^ $(CXXFLAGS) $(ARCH) -o $@ $(LDFLAGS)
|
|
|
|
-include $(shell find -type f -name '*.d')
|
|
|
|
.SUFFIXES:
|
|
.INTERMEDIATE:
|
|
.SECONDARY:
|
|
.PHONY: all clean
|
|
|
|
%: RCS/%,v
|
|
%: RCS/%
|
|
%: %,v
|
|
%: s.%
|
|
%: SCCS/s.%
|