rob@76
|
1 CLIENT := OscGroupClient
|
rob@76
|
2 SERVER := OscGroupServer
|
rob@76
|
3
|
rob@76
|
4
|
rob@76
|
5 # should be either OSC_HOST_BIG_ENDIAN or OSC_HOST_LITTLE_ENDIAN
|
rob@76
|
6 # Apple Intel: OSC_HOST_LITTLE_ENDIAN
|
rob@76
|
7 # Apple PowerPC: OSC_HOST_BIG_ENDIAN
|
rob@76
|
8 # Win32: OSC_HOST_LITTLE_ENDIAN
|
rob@76
|
9 # i386 Linux: OSC_HOST_LITTLE_ENDIAN
|
rob@76
|
10
|
rob@76
|
11 ENDIANESS=OSC_DETECT_ENDIANESS #source code will detect using preprocessor
|
rob@76
|
12 #ENDIANESS=OSC_HOST_LITTLE_ENDIAN
|
rob@76
|
13
|
rob@76
|
14 INCLUDES := -I../oscpack
|
rob@76
|
15 COPTS := -Wall -Wextra -O3
|
rob@76
|
16 CDEBUG := -Wall -Wextra -g
|
rob@76
|
17 CXXFLAGS := $(COPTS) $(INCLUDES) -D$(ENDIANESS)
|
rob@76
|
18 LIBS := -lpthread
|
rob@76
|
19
|
rob@76
|
20 BINDIR := bin
|
rob@76
|
21
|
rob@76
|
22 #Name definitions
|
rob@76
|
23 OSCGROUPSERVER := $(BINDIR)/$(SERVER)
|
rob@76
|
24 OSCGROUPCLIENT := $(BINDIR)/$(CLIENT)
|
rob@76
|
25
|
rob@76
|
26 COMMONSOURCES := \
|
rob@76
|
27 ../oscpack/osc/OscTypes.cpp \
|
rob@76
|
28 ../oscpack/osc/OscOutboundPacketStream.cpp \
|
rob@76
|
29 ../oscpack/osc/OscReceivedElements.cpp \
|
rob@76
|
30 ../oscpack/ip/posix/NetworkingUtils.cpp \
|
rob@76
|
31 ../oscpack/ip/IpEndpointName.cpp \
|
rob@76
|
32 ../oscpack/ip/posix/UdpSocket.cpp
|
rob@76
|
33
|
rob@76
|
34 SERVERSOURCES := ./GroupServer.cpp ./OscGroupServer.cpp
|
rob@76
|
35 CLIENTSOURCES := ./OscGroupClient.cpp ./md5.cpp
|
rob@76
|
36
|
rob@76
|
37 COMMONOBJECTS := $(COMMONSOURCES:.cpp=.o)
|
rob@76
|
38 SERVEROBJECTS := $(SERVERSOURCES:.cpp=.o)
|
rob@76
|
39 CLIENTOBJECTS := $(CLIENTSOURCES:.cpp=.o)
|
rob@76
|
40
|
rob@76
|
41 SCRIPTS := \
|
rob@76
|
42 ./OscGroupServerStartStop.sh \
|
rob@76
|
43 ./run_client.sh \
|
rob@76
|
44 ./run_server.sh
|
rob@76
|
45
|
rob@76
|
46 .PHONY: all server client
|
rob@76
|
47
|
rob@76
|
48 all: server client
|
rob@76
|
49
|
rob@76
|
50 server : $(OSCGROUPSERVER)
|
rob@76
|
51 client : $(OSCGROUPCLIENT)
|
rob@76
|
52
|
rob@76
|
53 $(OSCGROUPSERVER) $(OSCGROUPCLIENT) : $(COMMONOBJECTS) | $(BINDIR)
|
rob@76
|
54 $(CXX) -o $@ $^
|
rob@76
|
55
|
rob@76
|
56 $(OSCGROUPSERVER) : $(SERVEROBJECTS)
|
rob@76
|
57 $(OSCGROUPCLIENT) : $(CLIENTOBJECTS)
|
rob@76
|
58
|
rob@76
|
59 $(BINDIR):
|
rob@76
|
60 mkdir $@
|
rob@76
|
61
|
rob@76
|
62 # set executable bit on scripts
|
rob@76
|
63 scripts:
|
rob@76
|
64 chmod +x $(SCRIPTS)
|
rob@76
|
65
|
rob@76
|
66 # install the daemon on linux. make sure you
|
rob@76
|
67 # edit the script with the right path information first
|
rob@76
|
68 install_daemon : OscGroupServerStartStop.sh
|
rob@76
|
69 ln -s ./OscGroupServerStartStop.sh /etc/init.d/OscGroupServer
|
rob@76
|
70 update-rc.d OscGroupServer defaults
|
rob@76
|
71
|
rob@76
|
72 clean:
|
rob@76
|
73 rm -rf $(BINDIR) $(SERVEROBJECTS) $(CLIENTOBJECTS)
|
rob@76
|
74
|
rob@76
|
75
|