1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
# compilation and packing of the native library for vorbis
#
SHELL = /bin/sh
prefix=@prefix@
JAVADIR=$(prefix)
REL_JAVAEXTLIBPATH=@REL_JAVAEXTLIBPATH@
JAVAEXTLIBPATH=$(JAVADIR)/$(REL_JAVAEXTLIBPATH)
OSNAME=@OSNAME@
ARCHNAME=@ARCHNAME@
CC=@CC@
CPPFLAGS=-g -Wall -I$(JAVADIR)/include -I$(JAVADIR)/include/$(OSNAME) -I../../../jni/ -fPIC -D_REENTRANT #-pedantic
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
LN_S=@LN_S@
RM_F=@RM_F@
MKDIR_P=@MKDIR_P@
OBJDIR=../../../@BUILD_DIR@
vpath %.class $(OBJDIR)/org/tritonus/lowlevel/ogg
vpath %.class $(OBJDIR)/org/tritonus/lowlevel/vorbis
LIBBASENAME=libtritonusvorbis
LIBDEST=$(LIBBASENAME).so.1.0
LIBDEST_ABSOLUTE=@SRC_ABSOLUTE_PATH@/src/lib/vorbis/$(LIBDEST)
#or LIBDEST_ABSOLUTE=$(CURDIR)/$(LIBDEST)
LIBS=-logg -lvorbis -lvorbisenc
JAVAH = @JAVAH@
JNIOBJ=\
org_tritonus_lowlevel_ogg_Buffer.o \
org_tritonus_lowlevel_ogg_Packet.o \
org_tritonus_lowlevel_ogg_Page.o \
org_tritonus_lowlevel_ogg_StreamState.o \
org_tritonus_lowlevel_ogg_SyncState.o \
org_tritonus_lowlevel_vorbis_Block.o \
org_tritonus_lowlevel_vorbis_Comment.o \
org_tritonus_lowlevel_vorbis_DspState.o \
org_tritonus_lowlevel_vorbis_Info.o
OBJ=\
$(JNIOBJ) \
../common/common.o
JNIHEADERS:=$(JNIOBJ:.o=.h)
JNICLASSFILES=\
Buffer.class \
Packet.class \
Page.class \
StreamState.class \
SyncState.class \
Block.class \
Comment.class \
DspState.class \
Info.class
JNICLASSES=\
org.tritonus.lowlevel.ogg.Buffer \
org.tritonus.lowlevel.ogg.Packet \
org.tritonus.lowlevel.ogg.Page \
org.tritonus.lowlevel.ogg.StreamState \
org.tritonus.lowlevel.ogg.SyncState \
org.tritonus.lowlevel.vorbis.Block \
org.tritonus.lowlevel.vorbis.Comment \
org.tritonus.lowlevel.vorbis.DspState \
org.tritonus.lowlevel.vorbis.Info
#----------------- rules -------------------
.PHONY: all
all: $(LIBDEST)
$(LIBDEST): $(OBJ)
$(CC) -nostartfiles -shared -Wl,-soname,$(LIBBASENAME).so.1 -o $(LIBDEST) $(OBJ) -L/usr/lib $(LIBS)
$(RM_F) $(LIBBASENAME).so.1
$(LN_S) $(LIBBASENAME).so.1.0 $(LIBBASENAME).so.1
$(RM_F) $(LIBBASENAME).so
$(LN_S) $(LIBBASENAME).so.1 $(LIBBASENAME).so
$(OBJ): $(JNIHEADERS)
$(JNIHEADERS): $(JNICLASSFILES)
$(RM_F) $(JNIHEADERS)
.PHONY: install
install:
@echo "Installing $(LIBBASENAME) in $(JAVAEXTLIBPATH)"
@$(MKDIR_P) $(JAVAEXTLIBPATH)
@$(RM_F) $(JAVAEXTLIBPATH)/$(LIBBASENAME).so.1.0
@$(RM_F) $(JAVAEXTLIBPATH)/$(LIBBASENAME).so.1
@$(RM_F) $(JAVAEXTLIBPATH)/$(LIBBASENAME).so
$(INSTALL_PROGRAM) $(LIBDEST) $(JAVAEXTLIBPATH)
@(cd $(JAVAEXTLIBPATH) && $(LN_S) $(LIBBASENAME).so.1.0 $(LIBBASENAME).so.1)
@(cd $(JAVAEXTLIBPATH) && $(LN_S) $(LIBBASENAME).so.1 $(LIBBASENAME).so)
.PHONY: install-link
install-link:
@echo "Creating links for $(LIBBASENAME) in $(JAVAEXTLIBPATH)"
@$(MKDIR_P) $(JAVAEXTLIBPATH)
@$(RM_F) $(JAVAEXTLIBPATH)/$(LIBBASENAME).so.1.0
@$(RM_F) $(JAVAEXTLIBPATH)/$(LIBBASENAME).so.1
@$(RM_F) $(JAVAEXTLIBPATH)/$(LIBBASENAME).so
@(cd $(JAVAEXTLIBPATH) && $(LN_S) $(LIBDEST_ABSOLUTE) $(LIBBASENAME).so.1.0)
@(cd $(JAVAEXTLIBPATH) && $(LN_S) $(LIBBASENAME).so.1.0 $(LIBBASENAME).so.1)
@(cd $(JAVAEXTLIBPATH) && $(LN_S) $(LIBBASENAME).so.1 $(LIBBASENAME).so)
.PHONY: uninstall
uninstall:
@echo "Removing $(LIBBASENAME) from $(JAVAEXTLIBPATH)"
@$(RM_F) $(JAVAEXTLIBPATH)/$(LIBBASENAME).so.1.0
@$(RM_F) $(JAVAEXTLIBPATH)/$(LIBBASENAME).so.1
@$(RM_F) $(JAVAEXTLIBPATH)/$(LIBBASENAME).so
.PHONY: uninstall-link
uninstall-link: uninstall
.PHONY: clean
clean:
rm -rf $(LIBDEST) $(JNIHEADERS) *.o *~
|