aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: fe2b015f2b735a9b07a269c8262ce37e71581ae3 (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
CC = gcc
OUT = build
PLATFORM = unix

NETCOSM_SRC = $(shell cat SOURCES)
NETCOSM_OBJ := $(NETCOSM_SRC:.c=.o)

CFLAGS = -O3 -g -I src/ -I export/include -Wall -Wextra -Wshadow	\
	-std=gnu99 -fno-strict-aliasing
LDFLAGS = -lgcrypt -lev

HEADERS = src/*.h export/include/*.h

all: $(OUT)/$(PLATFORM).bin Makefile $(HEADERS)

$(OUT)/$(PLATFORM).bin: $(NETCOSM_OBJ) $(HEADERS) Makefile
	@mkdir -p $(OUT)
	@echo "LD $<"
	@$(CC) $(NETCOSM_OBJ) $(CFLAGS) $(LDFLAGS) -o $(OUT)/$(PLATFORM).bin

install: $(OUT)/$(PLATFORM).bin
	@install $(OUT)/$(PLATFORM).bin /bin/netcosm

clean:
	@echo "Cleaning build directory..."
	@rm -f $(OUT)/$(PLATFORM).bin
	@rm -f $(NETCOSM_OBJ)

%.o: %.c Makefile $(HEADERS)
	@echo "CC $<"
	@$(CC) $(CFLAGS) $(OPTFLAGS) -c $< -o $@