summaryrefslogtreecommitdiff
path: root/cleopatre/application/libspid/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/application/libspid/Makefile')
-rw-r--r--cleopatre/application/libspid/Makefile33
1 files changed, 18 insertions, 15 deletions
diff --git a/cleopatre/application/libspid/Makefile b/cleopatre/application/libspid/Makefile
index d1e3d04bfc..baf8f40de0 100644
--- a/cleopatre/application/libspid/Makefile
+++ b/cleopatre/application/libspid/Makefile
@@ -1,14 +1,19 @@
BASE = ../..
-LINUX_DIR=$(BASE)/linux-2.6.25.10-spc300
+LINUX_DIR = $(BASE)/linux-2.6.25.10-spc300
+LIBMME_DIR = $(BASE)/application/libmme
STAT_LIB=libspid.a
DYN_LIB=libspid.so
OBJPATH=obj
SRCPATH=src
INCPATH=inc
-LIBMME=$(BASE)/application/libmme
RESPONSE_FILE=extra_flags
+# libspid have some dependencies with libmme.
+LIBMME_A_BIN = $(LIBMME_DIR)/libmme.a
+LIBMME_SO_BIN = $(LIBMME_DIR)/libmme.so
+LIBMME_MMTYPE_H = $(LIBMME_DIR)/inc/mmtypes.h
+
ifeq ($(CC_FOR_TARGET),) #direct compile
CC=arm-linux-gcc
AR=arm-linux-ar
@@ -19,10 +24,10 @@ CC_WITH_CFLAGS=$(CC) @$(BASE)/$(RESPONSE_FILE)
CC_WITHOUT_CFLAGS=$(CC_FOR_TARGET)
endif
INCLUDES=-I$(INCPATH) -I$(BASE)/include -I$(LINUX_DIR)/include -MMD -I$(LINUX_DIR)/include/asm-arm/arch-spc300
-INCLUDES+=$(shell $(LIBMME)/libmme-config --I_opts)
-LDOPTS=$(shell $(LIBMME)/libmme-config --ldopts)
-LIBS=$(shell $(LIBMME)/libmme-config --libs)
-L_OPTS=$(shell $(LIBMME)/libmme-config --L_opts)
+INCLUDES+=$(shell $(LIBMME_DIR)/libmme-config --I_opts)
+LDOPTS=$(shell $(LIBMME_DIR)/libmme-config --ldopts)
+LIBS=$(shell $(LIBMME_DIR)/libmme-config --libs)
+L_OPTS=$(shell $(LIBMME_DIR)/libmme-config --L_opts)
SRCS=$(subst $(SRCPATH)/,,$(wildcard $(SRCPATH)/*.c))
DYN_OBJS=$(addprefix $(OBJPATH)/,$(SRCS:.c=.dyn.o))
@@ -33,21 +38,16 @@ STAT_DEPS=$(patsubst %o,%d,$(STAT_OBJS))
all: $(STAT_LIB) $(DYN_LIB)
-$(STAT_LIB): $(STAT_OBJS)
+$(STAT_LIB): $(STAT_OBJS) $(LIBMME_A_BIN)
$(AR) cr $@ $(STAT_OBJS)
-$(DYN_LIB): $(DYN_OBJS) libmme
+$(DYN_LIB): $(DYN_OBJS) $(LIBMME_SO_BIN)
$(CC_WITHOUT_CFLAGS) -shared -fPIC $(LDOPTS) $(L_OPTS) $(LIBS) -o $@ $(DYN_OBJS)
-libmme:
- make -C $(LIBMME)
-
-$(LIBMME)/inc/mmtypes.h: libmme
-
-$(OBJPATH)/%.stat.o: $(SRCPATH)/%.c
+$(OBJPATH)/%.stat.o: $(SRCPATH)/%.c $(LIBMME_MMTYPE_H)
$(CC_WITH_CFLAGS) $(INCLUDES) -o $@ -c $<
-$(OBJPATH)/%.dyn.o: $(SRCPATH)/%.c
+$(OBJPATH)/%.dyn.o: $(SRCPATH)/%.c $(LIBMME_MMTYPE_H)
$(CC_WITH_CFLAGS) $(INCLUDES) -fPIC -o $@ -c $<
$(DYN_OBJS) $(STAT_OBJS): | $(OBJPATH)
@@ -57,6 +57,9 @@ $(OBJPATH):
-include $(STAT_DEPS) $(DYN_DEPS)
+$(LIBMME_A_BIN) $(LIBMME_SO_BIN) $(LIBMME_MMTYPE_H):
+ $(error libmme output files not found)
+
.PHONY: all clean
clean: