1 # Makefile for Tools
3 CC = $(CROSS_COMPILE)gcc
5 CFLAGS += -Wall -Wextra -O2
7 ALL_TARGETS = lpcisp lpcprog lpc_binary_check
8 all: $(ALL_TARGETS)
11 OBJDIR = objs
12 SRC = $(shell find . -name \*.c)
13 OBJS = ${SRC:%.c=${OBJDIR}/%.o}
15 LPCISP_OBJS = ${OBJDIR}/lpcisp.o \
16                 ${OBJDIR}/isp_utils.o \
17                 ${OBJDIR}/isp_commands.o \
18                 ${OBJDIR}/isp_wrapper.o
19         
20 LPCPROG_OBJS = ${OBJDIR}/lpcprog.o \
21                 ${OBJDIR}/isp_utils.o \
22                 ${OBJDIR}/isp_commands.o \
23                 ${OBJDIR}/prog_commands.o \
24                 ${OBJDIR}/parts.o
26 LPCCHECK_OBJS = ${OBJDIR}/check.o \
27                 ${OBJDIR}/isp_utils.o
29 lpcisp: $(LPCISP_OBJS)
30         @echo "Linking $@ ..."
31         @$(CC) $(LDFLAGS) $(LPCISP_OBJS) -o $@
32         @echo Done.
34 lpcprog: $(LPCPROG_OBJS)
35         @echo "Linking $@ ..."
36         @$(CC) $(LDFLAGS) $(LPCPROG_OBJS) -o $@
37         @echo Done.
39 lpc_binary_check: $(LPCCHECK_OBJS)
40         @echo "Linking $@ ..."
41         @$(CC) $(LDFLAGS) $(LPCCHECK_OBJS) -o $@
42         @echo Done.
44 ${OBJDIR}/%.o: %.c
45         @mkdir -p $(dir $@)
46         @echo "-- compiling" $<
47         @$(CC) -MMD -MP -MF ${OBJDIR}/$*.d $(CPPFLAGS) $(CFLAGS) $< -c -o $@
50 clean:
51         rm -f ${OBJDIR}/*
52 mrproper: clean
53         rm -f $(ALL_TARGETS)