BIN = plcd OBJPATH = obj SRCPATH = src INCPATH = inc PLCD_BASE = . POLUX_BASE = ../.. LINUX_DIR = $(POLUX_BASE)/linux-2.6.10 SPIDLIB_DIR = $(POLUX_BASE)/application/spidlib SPIDLIB_LIB = $(SPIDLIB_DIR)/spidlib.a SPIDLIB_FLAGS = -msoft-float ifeq ($(VERSION), ) VERSION=$(shell git describe --always 2>/dev/null) endif INC = -I$(PLCD_BASE) \ -I$(POLUX_BASE)/include \ -I$(LINUX_DIR)/include \ -I$(SPIDLIB_DIR) CC = arm-uclinux-gcc CFLAGS += $(INC) -Os -MMD $(SPIDLIB_FLAGS) \ -DPLCD_VERSION=\"$(VERSION)\" LDFLAGS += $(SPIDLIB_FLAGS) -Wl,-elf2flt='-s8k' LIBFLAGS = $(SPIDLIB_LIB) SRCS = $(subst $(SRCPATH)/,,$(wildcard $(SRCPATH)/*.c)) OBJS = $(addprefix $(OBJPATH)/,$(SRCS:.c=.o)) DEPS = $(patsubst %o,%d,$(OBJS)) all: $(BIN) $(BIN): spidlib $(OBJS) $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBFLAGS) $(OBJPATH)/%.o: $(SRCPATH)/%.c $(CC) $(CFLAGS) -o $@ -c $< $(OBJS): | $(OBJPATH) $(OBJPATH): @mkdir $(OBJPATH) spidlib: $(MAKE) -C $(SPIDLIB_DIR) -include $(DEPS) .PHONY: all clean spidlib clean: @rm -fr $(OBJPATH) @rm -f $(BIN) $(BIN).gdb