BIN=managerd OBJPATH=obj SRCPATH=src INCPATH=inc 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=../../linux-2.6.25.10-spc300 LIBSPID_DIR=../libspid LIBMME_DIR=../libmme else #compile from buildroot CC_WITH_CFLAGS=$(CC) CC_WITHOUT_CFLAGS=$(CC_FOR_TARGET) endif EXTRA_CFLAGS=-I$(INCPATH) -I$(LINUX_DIR)/include -I$(LINUX_DIR)/include/asm-arm/arch-spc300 -I$(LIBMME_DIR)/inc -I$(LIBSPID_DIR)/inc -MMD LIBS=-L$(LIBMME_DIR) -L$(LIBSPID_DIR) -lmme -lspid -lpthread SRCS=$(subst $(SRCPATH)/,,$(wildcard $(SRCPATH)/*.c)) OBJS=$(addprefix $(OBJPATH)/,$(SRCS:.c=.o)) DEPS=$(patsubst %o,%d,$(OBJS)) all: $(BIN) $(BIN): libspid libmme $(OBJS) $(CC_WITHOUT_CFLAGS) -o $@ $(OBJS) $(LIBS) $(OBJPATH)/%.o: $(SRCPATH)/%.c $(CC_WITH_CFLAGS) $(EXTRA_CFLAGS) -o $@ -c $< $(OBJS): | $(OBJPATH) $(OBJPATH): mkdir $(OBJPATH) libspid: $(MAKE) -C $(LIBSPID_DIR) libspid.so libmme: $(MAKE) -C $(LIBMME_DIR) libmme.so -include $(DEPS) .PHONY: all clean clean: rm -f $(OBJS) $(DEPS) $(BIN) rmdir $(OBJPATH)