Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

gdp / examples / Makefile @ master

History | View | Annotate | Download (2.99 KB)

1
#
2
#  ----- BEGIN LICENSE BLOCK -----
3
#	GDP: Global Data Plane
4
#	From the Ubiquitous Swarm Lab, 490 Cory Hall, U.C. Berkeley.
5
#
6
#	Copyright (c) 2015-2019, Regents of the University of California.
7
#	All rights reserved.
8
#
9
#	Permission is hereby granted, without written agreement and without
10
#	license or royalty fees, to use, copy, modify, and distribute this
11
#	software and its documentation for any purpose, provided that the above
12
#	copyright notice and the following two paragraphs appear in all copies
13
#	of this software.
14
#
15
#	IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
16
#	SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST
17
#	PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
18
#	EVEN IF REGENTS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
19
#
20
#	REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
21
#	LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22
#	FOR A PARTICULAR PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION,
23
#	IF ANY, PROVIDED HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO
24
#	OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
25
#	OR MODIFICATIONS.
26
#  ----- END LICENSE BLOCK -----
27
#
28

    
29
ALL=		machine-mon
30

    
31
DESTDIR=
32
LOCALROOT=	/usr
33
INSTALLROOT=	${DESTDIR}${LOCALROOT}
34
BINDIR=		${INSTALLROOT}/bin
35
SBINDIR=	${INSTALLROOT}/sbin
36
ALLDIRS=	${BINDIR} \
37
		${SBINDIR} \
38
		${LIBDIR} \
39
		${INCDIR}/ep \
40
		${MANDIR}/man1 \
41
		${MANDIR}/man3 \
42
		${MANDIR}/man5 \
43
		${MANDIR}/man7 \
44
		${MANDIR}/man8
45

    
46
INSTALLFLAGS=
47
INSTALL=	install ${INSTALLFLAGS}
48

    
49
LOCAL1=		/usr/local
50
LOCAL2=		/opt/local
51
LOCAL3=		/usr/local/opt/openssl
52
SANITIZE=
53
#SANITIZE+=	-fsanitize=address
54
#SANITIZE+=	-fsanitize=thread
55
#SANITIZE+=	-fsanitize=memory
56
#SANITIZE+=	-fsanitize=undefined
57

    
58
INCROOT=	..
59
INCSEARCH=	${INCLOCAL} \
60
		-I${INCROOT} \
61
		-I${LOCAL1}/include \
62
		-I${LOCAL2}/include \
63
		-I${LOCAL3}/include \
64
		`mysql_config --cflags`
65
LIBROOT=	${INCROOT}
66
LIBSEARCH=	${LIBLOCAL} \
67
		-L${LIBROOT}/gdp \
68
		-L${LIBROOT}/ep \
69
		-I${LOCAL1}/lib \
70
		-L${LOCAL2}/lib \
71
		-L${LOCAL3}/lib
72
LIBGDP=		-lgdp
73
LIBEP=		-lep
74
LIBJANSSON=	-L${LOCAL1}/lib -L${LOCAL2}/lib -ljansson
75
LIBEVENT2=	-levent -levent_pthreads -pthread
76
LIBCRYPTO=	-lcrypto
77
LIBPROTO_C=	-lprotobuf-c
78
LIBAVAHI=	-lavahi-client -lavahi-common
79
LIBADD=		`sh ../adm/add-libs.sh`
80
LDLIBS=		${LIBGDP} \
81
		${LIBEP} \
82
		${LIBEVENT2} \
83
		${LIBCRYPTO} \
84
		${LIBPROTO_C} \
85
		${LIBAVAHI} \
86
		${LIBJANSSON} \
87
		${LIBADD}
88
INCS=		${INCSEARCH} ${INCGDP} ${INCEP}
89
LDFLAGS+=	${LIBSEARCH} ${LDLIBS} ${SANITIZE}
90
CC=		cc
91
PG=
92
WALL=		-Wall
93
G=		-g
94
O=		-O
95
STD=
96
COPTS=		${PG} ${WALL} $G $O ${STD} ${SANITIZE}
97
CFLAGS+=	${COPTS} ${INCS}
98
MKDIR=		mkdir -p
99

    
100
all:	${ALL}
101

    
102
# Build without avahi, the zero-conf facility that
103
# can be tricky to compile under Mac OS X.
104
all_noavahi:
105
	${MAKE}	STD=-DGDP_OSCF_USE_ZEROCONF=0 LIBAVAHI=  all
106

    
107
machine-mon:	machine-mon.o
108
	${CC} -o $@ machine-mon.o ${LDFLAGS}
109

    
110
clean:
111
	-rm -f ${ALL} *.o *.core
112

    
113
${ALLDIRS}:
114
	${MKDIR} $@
115

    
116
ADM=		../adm
117
UPDATE_LICENSE=	${ADM}/update-license.sh
118

    
119
update-license:
120
	${UPDATE_LICENSE} Makefile *.[ch]