BIN=managerd OBJPATH=obj SRCPATH=src INCPATH=inc OBJINCPATH=$(OBJPATH)/inc CLEO_DIR = ../.. LINUX_DIR = $(CLEO_DIR)/linux-2.6.25.10-spc300 LIBSPID_DIR = $(CLEO_DIR)/application/libspid LIBMME_DIR = $(CLEO_DIR)/application/libmme LIBSPID_SO_BIN = $(LIBSPID_DIR)/libspid.so LIBMME_SO_BIN = $(LIBMME_DIR)/libmme.so 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) else #compile from buildroot CC_WITH_CFLAGS=$(CC) CC_WITHOUT_CFLAGS=$(CC_FOR_TARGET) endif RESPONSE_FILE=extra_flags INCLUDES = -I$(INCPATH) \ -I$(LINUX_DIR)/include \ -I$(LINUX_DIR)/include/asm-arm/arch-spc300 \ -I$(CLEO_DIR)/include \ $(shell $(LIBSPID_DIR)/libspid-config --I_opts) EXTRA_CFLAGS= $(INCLUDES) -MMD -Wall @$(CLEO_DIR)/$(RESPONSE_FILE) LIBS = -lpthread \ $(shell $(LIBSPID_DIR)/libspid-config --L_opts) \ $(shell $(LIBSPID_DIR)/libspid-config --libs) SRCS=$(subst $(SRCPATH)/,,$(wildcard $(SRCPATH)/*.c)) OBJS=$(addprefix $(OBJPATH)/,$(SRCS:.c=.o)) DEPS=$(patsubst %o,%d,$(OBJS)) all: $(BIN) $(BIN): $(OBJS) $(LIBSPID_SO_BIN) $(LIBMME_SO_BIN) $(CC_WITHOUT_CFLAGS) -o $@ $(OBJS) $(LIBS) $(OBJPATH)/%.o: $(SRCPATH)/%.c $(CC_WITH_CFLAGS) $(EXTRA_CFLAGS) -o $@ -c $< $(OBJS): | $(OBJPATH) $(OBJPATH): mkdir $(OBJPATH) $(LIBSPID_SO_BIN) $(LIBMME_SO_BIN): $(error libspid or libmme output files are not found) -include $(DEPS) .PHONY: all clean clean: rm -f $(OBJS) $(DEPS) $(BIN) rmdir $(OBJPATH)