BIN=afe OBJPATH=obj SRCPATH=src INCPATH=. CLEO_BASE=../.. RESPONSE_FILE=extra_flags ifeq ($(CC_FOR_TARGET),) #direct compile CC=arm-linux-gcc CC_WITH_CFLAGS=$(CC) -I/opt/spidcom/spc300/usr/include -g -Os CC_WITHOUT_CFLAGS=$(CC) LINUX_DIR=$(CLEO_BASE)/linux-2.6.25.10-spc300 else #compile from buildroot CC_WITH_CFLAGS=$(CC) CC_WITHOUT_CFLAGS=$(CC_FOR_TARGET) endif EXTRA_CFLAGS=-I$(INCPATH) -I$(LINUX_DIR)/include -MMD @$(CLEO_BASE)/$(RESPONSE_FILE) SRCS=$(subst $(SRCPATH)/,,$(wildcard $(SRCPATH)/*.c)) OBJS=$(addprefix $(OBJPATH)/,$(SRCS:.c=.o)) DEPS=$(patsubst %o,%d,$(OBJS)) all: $(BIN) $(BIN): $(OBJS) $(CC_WITHOUT_CFLAGS) -o $@ $(OBJS) $(OBJPATH)/%.o: $(SRCPATH)/%.c $(CC_WITH_CFLAGS) $(EXTRA_CFLAGS) -o $@ -c $< $(OBJS): | $(OBJPATH) $(OBJPATH): mkdir $(OBJPATH) -include $(DEPS) .PHONY: all clean clean: rm -f $(OBJS) $(DEPS) $(BIN) rmdir $(OBJPATH)