-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
34 lines (27 loc) · 820 Bytes
/
Makefile
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
CC = gcc
CFLAGS = -Iinclude -pedantic -Wall -Wextra -Wno-gnu-statement-expression -std=c99
LDFLAGS = -L/usr/local/lib
SOURCES = src/main.c
SOURCES += src/chip8.c
SOURCES += src/keypad.c
SOURCES += src/display.c
SOURCES += src/timer.c
SOURCES += src/audio.c
HEADERS = include/chip8.h
HEADERS += include/cpu_def.h
HEADERS += include/status_code.h
HEADERS += include/keypad.h include/display.h
HEADERS += include/logging.h
HEADERS += include/timer.h
HEADERS += include/audio.h
LIBS = -lSDL2
OBJS = objects/main.o objects/chip8.o objects/keypad.o objects/display.o objects/timer.o objects/audio.o
all: bin/chip8_emu.out
bin/chip8_emu.out: $(OBJS) $(HEADERS)
@mkdir -p bin
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
objects/%.o: src/%.c
@mkdir -p objects
$(CC) -c $< $(CFLAGS) -o$@
clean:
rm -rf bin objects