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] |