38 lines
731 B
Makefile
38 lines
731 B
Makefile
CC = gcc
|
|
CFLAGS=-g -Wall -DDEBUG -Wpedantic -Wextra -Wunused-result -std=c99 -pedantic-errors -lSDL2 -lSDL2_ttf
|
|
SRCDIR=src
|
|
OBJDIR=obj
|
|
SRCS=$(wildcard $(SRCDIR)/*.c)
|
|
|
|
# Substitute all .c with .o from SRCS
|
|
OBJS=$(patsubst $(SRCDIR)/%.c, $(OBJDIR)/%.o, $(SRCS))
|
|
BINDIR=bin
|
|
BIN=$(BINDIR)/game
|
|
|
|
all: $(BIN)
|
|
release: CFLAGS=-Wall -Wpedantic -O2 -lSDL2 -lSDL2_ttf
|
|
release: clean
|
|
release: $(BIN)
|
|
|
|
$(BIN): $(OBJS) $(BINDIR)
|
|
$(CC) $(CFLAGS) $(OBJS) -o $@
|
|
|
|
$(OBJDIR)/%.o: $(SRCDIR)/%.c $(OBJDIR)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
$(BINDIR):
|
|
mkdir $@
|
|
|
|
$(OBJDIR):
|
|
mkdir $@
|
|
|
|
.PHONY: clean
|
|
.PHONY: test
|
|
.PHONY: disass
|
|
|
|
clean:
|
|
rm -rf $(BINDIR)/* $(OBJDIR)/*
|
|
test:
|
|
$(BIN)
|
|
disass:
|
|
objdump -S --disassemble $(OBJDIR)/$(FILE).o > $(OBJDIR)/$(FILE).s
|