summaryrefslogtreecommitdiff
path: root/src/makefile
blob: ce91b590b24e6abdb16d146bb1932776c2e0ee62 (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
CC         = gcc-14
CFLAGS     = -Wall \
             -Werror \
             -Wextra \
             -Wpedantic \
             -std=c17
SOURCE_DIR = .
SOURCES    = hello.c io.c
OBJECT_DIR = object
OBJECTS    = $(SOURCES:%.c=$(OBJECT_DIR)/%.o)
TARGET     = hello

all: $(TARGET)

debug: CFLAGS += -g -O0
debug: $(TARGET)

clean:
	rm -rf $(TARGET) $(OBJECT_DIR)

$(TARGET): $(OBJECTS) | $(BIN_DIR)
	$(CC) $(CFLAGS) -o $@ $^

$(OBJECT_DIR)/%.o: %.c | $(OBJECT_DIR)
	$(CC) $(CFLAGS) -c $^ -o $@

$(OBJECT_DIR) $(BIN_DIR):
	mkdir $@