Changeset 33

Show
Ignore:
Timestamp:
09/28/05 08:38:55 (3 years ago)
Author:
ross
Message:

added install targets

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • oscpack/trunk/Makefile

    r29 r33  
    1 TEST=OscUnitTests 
     1# should be either OSC_HOST_BIG_ENDIAN or OSC_HOST_LITTLE_ENDIAN 
     2# Apple Mac OS X: OSC_HOST_BIG_ENDIAN 
     3# Win32: OSC_HOST_LITTLE_ENDIAN 
     4# i386 GNU/Linux: OSC_HOST_LITTLE_ENDIAN 
     5ENDIANESS=OSC_HOST_LITTLE_ENDIAN 
     6 
     7CXX = g++ 
     8INCLUDES = -I./ 
     9COPTS  = -Wall -O3 
     10CDEBUG = -Wall -g  
     11CXXFLAGS = $(COPTS) $(INCLUDES) -D$(ENDIANESS) 
     12 
     13PREFIX = /usr/local 
     14INSTALL = /usr/bin/install -c 
     15 
     16#Name definitions 
     17UNITTESTS=OscUnitTests 
    218SEND=OscSendTests 
    319RECEIVE=OscReceiveTest 
    420DUMP=OscDump 
    521 
    6 # should be either OSC_HOST_BIG_ENDIAN or OSC_HOST_LITTLE_ENDIAN 
    7 # Apple: OSC_HOST_BIG_ENDIAN 
    8 # Win32: OSC_HOST_LITTLE_ENDIAN 
    9 # i386 LinuX: OSC_HOST_LITTLE_ENDIAN 
     22INCLUDEDIR = oscpack 
     23LIBNAME = liboscpack 
     24LIBSONAME = $(LIBNAME).so 
     25LIBFILENAME = $(LIBSONAME).1.0.1 
    1026 
    11 ENDIANESS=OSC_HOST_LITTLE_ENDIAN 
    12  
     27#Test and example source 
    1328SENDSOURCES = ./tests/OscSendTests.cpp ./osc/OscOutboundPacketStream.cpp ./osc/OscTypes.cpp ./ip/posix/NetworkingUtils.cpp ./ip/posix/UdpSocket.cpp ./ip/IpEndpointName.cpp 
    1429SENDOBJECTS = $(SENDSOURCES:.cpp=.o) 
     
    2035DUMPOBJECTS = $(DUMPSOURCES:.cpp=.o) 
    2136 
    22 TESTSOURCES = ./tests/OscUnitTests.cpp ./osc/OscOutboundPacketStream.cpp ./osc/OscTypes.cpp ./osc/OscReceivedElements.cpp ./osc/OscPrintReceivedElements.cpp 
    23 TESTOBJECTS = $(TESTSOURCES:.cpp=.o) 
     37UNITTESTSOURCES = ./tests/OscUnitTests.cpp ./osc/OscOutboundPacketStream.cpp ./osc/OscTypes.cpp ./osc/OscReceivedElements.cpp ./osc/OscPrintReceivedElements.cpp 
     38UNITTESTOBJECTS = $(UNITTESTSOURCES:.cpp=.o) 
    2439 
    25 INCLUDES = -I./ 
    26 COPTS  = -Wall -O3 
    27 CDEBUG = -Wall -g  
    28 CXXFLAGS = $(COPTS) $(INCLUDES) -D$(ENDIANESS) 
    29 LIBS = -lpthread 
     40#Library sources 
     41LIBSOURCES = ./ip/IpEndpointName.cpp \ 
     42  ./ip/posix/NetworkingUtils.cpp ./ip/posix/UdpSocket.cpp\ 
     43  ./osc/OscOutboundPacketStream.cpp ./osc/OscPrintReceivedElements.cpp ./osc/OscReceivedElements.cpp ./osc/OscTypes.cpp 
     44LIBOBJECTS = $(LIBSOURCES:.cpp=.o) 
    3045 
    31 all:  test send receive dump 
     46all:  unittests send receive dump 
    3247 
    33 test : $(TESTOBJECTS) 
     48unittests : $(UNITTESTOBJECTS) 
    3449  @if [ ! -d bin ] ; then mkdir bin ; fi 
    35   $(CXX) -o bin/$(TEST) $+ $(LIBS)  
     50  $(CXX) -o bin/$(UNITTESTS) $+ $(LIBS)  
    3651send : $(SENDOBJECTS) 
    3752  @if [ ! -d bin ] ; then mkdir bin ; fi 
     
    4560 
    4661clean: 
    47   rm -rf bin $(TESTOBJECTS) $(SENDOBJECTS) $(RECEIVEOBJECTS) $(DUMPOBJECTS) 
     62  rm -rf bin $(TESTOBJECTS) $(SENDOBJECTS) $(RECEIVEOBJECTS) $(DUMPOBJECTS) $(LIBOBJECTS) $(LIBFILENAME) include lib oscpack &> /dev/null 
    4863 
     64$(LIBFILENAME): $(LIBOBJECTS) 
     65  #GNU/Linux case 
     66  $(CXX) -shared -Wl,-soname,$(LIBSONAME) -o $(LIBFILENAME) $(LIBOBJECTS) -lc 
     67  #Mac OS X case 
     68  #$(CXX) -dynamiclib -Wl,-install_name,$(LIBSONAME) -o $(LIBFILENAME) $(LIBOBJECTS) -lc 
     69   
     70lib: $(LIBFILENAME) 
     71 
     72#Installs the library on a system global location 
     73install: lib 
     74  @$(INSTALL) -m 755 $(LIBFILENAME) $(PREFIX)/lib/$(LIBFILENAME) 
     75  @ln -s -f $(PREFIX)/lib/$(LIBFILENAME) $(PREFIX)/lib/$(LIBSONAME)  
     76  @mkdir  -p $(PREFIX)/include/oscpack/ip $(PREFIX)/include/oscpack/osc 
     77  @$(INSTALL) -m 644 ip/*.h $(PREFIX)/include/oscpack/ip 
     78  @$(INSTALL) -m 644 osc/*.h $(PREFIX)/include/oscpack/osc 
     79  @echo "SUCCESS! oscpack has been installed in $(PREFIX)/lib and $(PREFIX)/include/ospack/" 
     80  @echo "now doing ldconfig..." 
     81  @ldconfig 
     82 
     83#Installs the include/lib structure locally 
     84install-local: lib 
     85  @echo "" 
     86  @echo " Installing in local directory <$(INCLUDEDIR)>" 
     87  @echo "   > Creating symbolic link" 
     88  @ln $(LIBFILENAME) $(LIBSONAME) -s 
     89  @echo "   > Creating directories" 
     90  @mkdir -p oscpack/lib 
     91  @mkdir -p oscpack/include/ip 
     92  @mkdir -p oscpack/include/osc 
     93  @echo "   > Copying files" 
     94  @mv $(LIBFILENAME) $(LIBSONAME) oscpack/lib 
     95  @cp ip/*.h oscpack/include/ip 
     96  @cp osc/*.h oscpack/include/osc 
     97  @echo "" 
     98  @echo "   > Success!" 
     99