summaryrefslogtreecommitdiff
path: root/Makefile
blob: 1f49002c92f310ac1d1e644550c504cbbbd90d02 (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
SHELL  := /bin/sh
CC     := c99
CFLAGS := -g -Werror -Wall -pedantic
SRCDIR := ./src
SRCS   := $(shell find . -name '*.c')
OBJS   := $(SRCS:.c=.o)
DEPS   := $(OBJS:.o=.d)
TARGET := sm

.POSIX:
.PHONY: all clean

all: $(TARGET)

%.d: %.c
	@$(CC) -MM $(CPPFLAGS) $< > $@

%.o: %.c %.d
	@$(CC) $(CFLAGS) -c -o $@ $<
	@printf 'CC\t%s\n' '$@'

-include $(DEPS)

$(TARGET): $(OBJS)
	@$(CC) $(CFLAGS) $(OBJS) -o $@
	@printf 'CCLD\t%s\n' '$@'

clean:
	$(RM) $(TARGET)
	$(RM) $(OBJS) $(DEPS)