aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: f467e80059581e95d0912a0fff5c493d55cfce87 (about) (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
CC ?= clang

BUILD = build

TARGET = $(BUILD)/ihex
PREFIX = /usr

SRC =\
	src/main.c\
	src/ihex.c\
	src/util.c\
	src/array.c

INCLUDE = -Iinclude

OBJ = $(patsubst src/%.c,$(BUILD)/%.o,$(SRC))
DEPS = $(patsubst %.o,%.d,$(OBJ))

DEPFLAGS = -MP -MMD

CFLAGS = $(DEPFLAGS) $(INCLUDE) -Wall -pedantic
LDFLAGS =

all : $(TARGET)

$(BUILD)/%.o : src/%.c
	$(CC) $(CFLAGS) -c -o $@ $<

$(TARGET) : $(OBJ)
	$(CC) $(LDFLAGS) -o $@ $+

$(OBJ) : | $(BUILD)

$(BUILD) :
	mkdir -p $@

install :
	mkdir -p $(PREFIX)/bin
	install -m 755 $(TARGET) $(PREFIX)/bin

uninstall :
	rm -f $(PREFIX)/bin/ihex

clean :
	rm -rf build

.PHONY : clean install

-include $(DEPS)