GNUmakefile.in 2.24 KB
Newer Older
1
2
3
#
# Insert Copyright Here.
#
4
5
SRCDIR		= @srcdir@
TESTBED_SRCDIR	= @top_srcdir@
6
EVENTSYS	= @EVENTSYS@
7
8
OBJDIR		= ..
SUBDIR		= tmcd
9

10
11
SYSTEM	       := $(shell uname -s)

12
include $(OBJDIR)/Makeconf
13

14
15
16
all:	server client
client: tmcc tmcc-nossl findif
server: tmcd tmcd.restart
17

18
include $(TESTBED_SRCDIR)/GNUmakerules
19

20
21
22
23
24
25
26
CFLAGS	+= -O -g -Wall -DUDP \
		-I${OBJDIR} -I/usr/local/include -I${TESTBED_SRCDIR}/lib/libtb
TMLIBS	 = ${OBJDIR}/lib/libtb/libtb.a

#
# For SSL enabled tmcd/tmcc
#
27
28
CFLAGS	+= -DETCDIR='"$(INSTALL_ETCDIR)"'
SSLFLAGS = -DWITHSSL 
29
30
TMLIBS	+= -lssl -lcrypto
SSLOBJ   = ssl.o
31
32
33
ifeq ($(SYSTEM),Linux)
TMLIBS  += -ldl
endif
34

35
ifeq ($(EVENTSYS),1)
36
	TMCDCFLAGS = `elvin-config --cflags vin4c` \
37
		     -I$(TESTBED_SRCDIR)/event/lib -DEVENTSYS
38
	TMCDLIBS    = ${OBJDIR}/event/lib/libevent.a
39
40
	ELVINFLAGS = `elvin-config --libs vin4c`
endif
41

42
tmcd: tmcd.c ${TMCDLIBS} decls.h version.o $(SSLOBJ)
43
	$(CC) $(CFLAGS) $(SSLFLAGS) $(TMCDCFLAGS) -o tmcd $< \
44
45
46
		version.o $(SSLOBJ) \
		$(LFLAGS) -L/usr/local/lib/mysql -lmysqlclient \
		$(ELVINFLAGS) $(TMCDLDFLAGS) $(TMCDLIBS) $(TMLIBS) 
47

48
49
50
51
tmcc: tmcc.c decls.h $(SSLOBJ)
	$(CC) $(CFLAGS) $(SSLFLAGS) -static -g -o tmcc $< $(SSLOBJ) \
		$(LFLAGS) $(TMLIBS)

52
53
54
55
tmcc-shared: tmcc.c decls.h $(SSLOBJ)
	$(CC) $(CFLAGS) $(SSLFLAGS) -g -o tmcc $< $(SSLOBJ) \
		$(LFLAGS) $(TMLIBS)

56
57
tmcc-nossl: tmcc.c decls.h
	$(CC) $(CFLAGS) -static -g -o tmcc-nossl $< $(LFLAGS)
58
59
60

findif: findif.o
	$(CC) $(CFLAGS) -g -o findif findif.o $(LFLAGS) -static
61

62
ssl.o:	ssl.c ssl.h decls.h
63

64
65
66
version.c: tmcd.c
	echo >$@ "char build_info[] = \"Built `date +%d-%b-%Y` by `id -nu`@`hostname | sed 's/\..*//'`:`pwd`\";"

67
68
install:	all

69
70
install:	$(INSTALL_SBINDIR)/tmcd \
		$(INSTALL_SBINDIR)/tmcd.restart
71

72
73
74
75
76
77
78
79
80
81
82
83
84

client-install:
ifeq ($(SYSTEM),FreeBSD)
	@$(MAKE) -C freebsd install
else
ifeq ($(SYSTEM),Linux)
	@$(MAKE) -C linux install
else
	@echo "unknown OS, nothing to install"
endif
endif
#endif

85
86
87
88
89
$(INSTALL_BINDIR)/tmcd/%: %
	@echo "Installing $<"
	-mkdir -p $(INSTALL_BINDIR)/tmcd
	$(INSTALL_PROGRAM) $< $@

90
91
92
93
94
95
96
97
98
#
# Here so that the event system libraries, and libraries they depend upon,
# can get made.
#
${OBJDIR}/event/lib/%:
	cd ${OBJDIR}/event/lib && gmake $<
${OBJDIR}/lib/libtb/%:
	cd ${OBJDIR}/lib/tbdb && gmake $<

99
clean: 
100
	rm -f *.o core tmcd tmcd.restart tmcc tmcc-nossl findif version.c