blob: 9fa28b647d462981ce7ab37d7c802a9e53b2e90b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
PROGRAM = konengine
SRCDIR = src
KONDIR = kon
EXTDIR = ext
OBJDIR ?= obj
EXE ?=
MODEFLAGS ?= -O2 -DNDEBUG
DEFS ?=
LDLIBS ?= -lm
MODOBJS ?=
WARN = -std=c99 -Wall -Wextra -Wpedantic
KONFLAGS = $(WARN) $(MODEFLAGS) $(DEFS) -I$(KONDIR) -I$(EXTDIR)
COMPILE = @mkdir -p $(OBJDIR); echo "\# compile $@"; $(CC) $(KONFLAGS) -c
BIN = $(OBJDIR)/$(PROGRAM)$(EXE)
CORE = $(OBJDIR)/engine.o $(OBJDIR)/konwinlib.o $(OBJDIR)/konsofren.o \
$(OBJDIR)/kontime.o $(OBJDIR)/koninput.o
OBJS = $(CORE) $(MODOBJS)
all: $(BIN)
$(BIN): $(OBJS)
@echo "# link $@"
@$(CC) -o $@ $(OBJS) $(LDLIBS)
$(OBJDIR)/engine.o: $(SRCDIR)/engine.c $(KONDIR)/*.h
$(COMPILE) $(SRCDIR)/engine.c -o $@
$(OBJDIR)/konwinlib.o: $(SRCDIR)/impl/konwinlib.c $(KONDIR)/konwinlib.h
$(COMPILE) $(SRCDIR)/impl/konwinlib.c -o $@
$(OBJDIR)/konsofren.o: $(SRCDIR)/impl/konsofren.c $(KONDIR)/konsofren.h
$(COMPILE) $(SRCDIR)/impl/konsofren.c -o $@
$(OBJDIR)/kontime.o: $(SRCDIR)/impl/kontime.c $(KONDIR)/kontime.h
$(COMPILE) $(SRCDIR)/impl/kontime.c -o $@
$(OBJDIR)/koninput.o: $(SRCDIR)/impl/koninput.c $(KONDIR)/koninput.h $(KONDIR)/konwinlib.h
$(COMPILE) $(SRCDIR)/impl/koninput.c -o $@
$(OBJDIR)/konfont.o: $(SRCDIR)/impl/konfont.c $(KONDIR)/konfont.h $(KONDIR)/konsofren.h $(EXTDIR)/stb_truetype.h
$(COMPILE) $(SRCDIR)/impl/konfont.c -o $@
$(OBJDIR)/kontoml.o: $(SRCDIR)/impl/kontoml.c $(KONDIR)/kontoml.h
$(COMPILE) $(SRCDIR)/impl/kontoml.c -o $@
run: $(BIN)
./$(BIN)
clean:
rm -f $(OBJS) $(BIN)
.PHONY: all run clean
|