www.pudn.com > ffmpeg_src2007.rar > common.mak


# 
# common bits used by all libraries 
# 
 
SRC_DIR = $(SRC_PATH)/$(SUBDIR) 
VPATH = $(SRC_DIR) 
 
#FIXME: This should be in configure/config.mak 
ifeq ($(CONFIG_WIN32),yes) 
LDFLAGS = -Wl,--output-def,$(@:.dll=.def),--out-implib,lib$(SLIBNAME:$(SLIBSUF)=.dll.a) 
endif 
 
ifeq ($(TARGET_GPROF),yes) 
CFLAGS+=-p 
LDFLAGS+=-p 
endif 
 
ifeq ($(TARGET_ARCH_SPARC64),yes) 
CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc 
endif 
 
SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) $(CPPOBJS:.o=.cpp) 
OBJS := $(OBJS) $(ASM_OBJS) $(CPPOBJS) 
STATIC_OBJS := $(OBJS) $(STATIC_OBJS) 
SHARED_OBJS := $(OBJS) $(SHARED_OBJS) 
 
all: $(LIB) $(SLIBNAME) 
 
$(LIB): $(STATIC_OBJS) 
	rm -f $@ 
	$(AR) rc $@ $^ $(EXTRAOBJS) 
	$(RANLIB) $@ 
 
$(SLIBNAME): $(SHARED_OBJS) 
	$(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) $(EXTRAOBJS) 
ifeq ($(CONFIG_WIN32),yes) 
	-lib /machine:i386 /def:$(@:.dll=.def) 
endif 
 
%.o: %.c 
	$(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $< 
 
%.o: %.S 
	$(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $< 
 
# BeOS: remove -Wall to get rid of all the "multibyte constant" warnings 
%.o: %.cpp 
	g++ $(subst -Wall,,$(CFLAGS)) -c -o $@ $< 
 
depend: $(SRCS) 
	$(CC) -MM $(CFLAGS) $^ 1>.depend 
 
dep:	depend 
 
clean:: 
	rm -f *.o *.d *~ *.a *.lib *.so *.dylib *.dll \ 
	      *.lib *.def *.dll.a *.exp 
 
distclean: clean 
	rm -f .depend 
 
ifeq ($(BUILD_SHARED),yes) 
INSTLIBTARGETS += install-lib-shared 
endif 
ifeq ($(BUILD_STATIC),yes) 
INSTLIBTARGETS += install-lib-static 
endif 
 
install: install-libs install-headers 
 
install-libs: $(INSTLIBTARGETS) 
 
install-lib-shared: $(SLIBNAME) 
	install -d "$(libdir)" 
ifeq ($(CONFIG_WIN32),yes) 
	install $(INSTALLSTRIP) -m 755 $(SLIBNAME) "$(prefix)" 
else 
	install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \ 
		$(libdir)/$(SLIBNAME_WITH_VERSION) 
	ln -sf $(SLIBNAME_WITH_VERSION) \ 
		$(libdir)/$(SLIBNAME_WITH_MAJOR) 
	ln -sf $(SLIBNAME_WITH_VERSION) \ 
		$(libdir)/$(SLIBNAME) 
endif 
 
install-lib-static: $(LIB) 
	install -d "$(libdir)" 
	install -m 644 $(LIB) "$(libdir)" 
 
install-headers: 
	install -d "$(incdir)" 
	install -d "$(libdir)/pkgconfig" 
	install -m 644 $(addprefix "$(SRC_DIR)"/,$(HEADERS)) "$(incdir)" 
	install -m 644 $(BUILD_ROOT)/lib$(NAME).pc "$(libdir)/pkgconfig" 
 
# 
# include dependency files if they exist 
# 
ifneq ($(wildcard .depend),) 
include .depend 
endif