~ubuntu-branches/ubuntu/vivid/sslh/vivid-proposed

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Package Import Robot
  • Author(s): Guillaume Delacour
  • Date: 2014-08-07 00:06:06 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20140807000606-y1tg7j8i5t7d4drr
Tags: 1.16-1
* New upstream release: fix some startup problem when interfaces are not
  ready at boot time (IP_FREEBIND support when available) and can use libcap
  for transparent mode
* Enable libcap and libwrap support at build time
* Enable dpkg-buildflags: Drop hardening-wrapper Build-Depends and use
  DEB_BUILD_HARDENING instead of DEB_BUILD_MAINT_OPTIONS
* Remove old .gitignore as upstream has one too
* debian/sslh.tmpfile: Create /run/sslh for systemd as root because sslh
  write its pid before dropping privileges (Closes: #740560)
* debian/patches/disable_ip_freebind_test.diff: Remove "Can't bind address"
  upstream test because IP_FREEBIND is now enabled upstream
* debian/docs: upstream README is now README.md
* debian/rules:
  + use DESTDIR in addition of PREFIX as upstream change Makefile
* Refresh debian/patches/disable_valgrind_launch.diff due to upstream
  changes
* Stop service in case of purge (to be able to remove the user too)
* Use DEB_BUILD_OPTIONS to speed the build
* debian/patches/fixed_version.diff: Fix the version of binaries based on
  debian/changelog (instead of relying on git)
* Update Description as sslh is not only a ssl/ssh multiplexer but a
  protocol multiplexer

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# Configuration
2
2
 
3
 
VERSION="1.15"
 
3
VERSION=$(shell ./genver.sh -r)
4
4
USELIBCONFIG=1  # Use libconfig? (necessary to use configuration files)
5
5
USELIBWRAP=     # Use libwrap?
 
6
USELIBCAP=      # Use libcap?
6
7
COV_TEST=       # Perform test coverage?
7
8
PREFIX=/usr/local
8
9
 
18
19
CC ?= gcc
19
20
CFLAGS ?=-Wall -g $(CFLAGS_COV)
20
21
 
21
 
LIBS=$(LDFLAGS)
 
22
LIBS=
22
23
OBJS=common.o sslh-main.o probe.o
23
24
 
24
25
ifneq ($(strip $(USELIBWRAP)),)
25
26
        LIBS:=$(LIBS) -lwrap
26
 
        CFLAGS:=$(CFLAGS) -DLIBWRAP
 
27
        CPPFLAGS+=-DLIBWRAP
27
28
endif
28
29
 
29
30
ifneq ($(strip $(USELIBCONFIG)),)
30
31
        LIBS:=$(LIBS) -lconfig
31
 
        CFLAGS:=$(CFLAGS) -DLIBCONFIG
 
32
        CPPFLAGS+=-DLIBCONFIG
 
33
endif
 
34
 
 
35
ifneq ($(strip $(USELIBCAP)),)
 
36
        LIBS:=$(LIBS) -lcap
 
37
        CPPFLAGS+=-DLIBCAP
32
38
endif
33
39
 
34
40
all: sslh $(MAN) echosrv
35
41
 
36
42
.c.o: *.h
37
 
        $(CC) $(CFLAGS) -D'VERSION=$(VERSION)' -c $<
38
 
 
39
 
 
40
 
sslh: $(OBJS) sslh-fork sslh-select
41
 
 
42
 
sslh-fork: $(OBJS) sslh-fork.o Makefile common.h
43
 
        $(CC) $(CFLAGS) -D'VERSION=$(VERSION)' -o sslh-fork sslh-fork.o $(OBJS) $(LIBS)
 
43
        $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
 
44
 
 
45
version.h:
 
46
        ./genver.sh >version.h
 
47
 
 
48
sslh: sslh-fork sslh-select
 
49
 
 
50
sslh-fork: version.h $(OBJS) sslh-fork.o Makefile common.h
 
51
        $(CC) $(CFLAGS) $(LDFLAGS) -o sslh-fork sslh-fork.o $(OBJS) $(LIBS)
44
52
        #strip sslh-fork
45
53
 
46
 
sslh-select: $(OBJS) sslh-select.o Makefile common.h 
47
 
        $(CC) $(CFLAGS) -D'VERSION=$(VERSION)' -o sslh-select sslh-select.o $(OBJS) $(LIBS)
 
54
sslh-select: version.h $(OBJS) sslh-select.o Makefile common.h
 
55
        $(CC) $(CFLAGS) $(LDFLAGS) -o sslh-select sslh-select.o $(OBJS) $(LIBS)
48
56
        #strip sslh-select
49
57
 
50
58
echosrv: $(OBJS) echosrv.o
51
 
        $(CC) $(CFLAGS) -o echosrv echosrv.o probe.o common.o $(LIBS)
 
59
        $(CC) $(CFLAGS) $(LDFLAGS) -o echosrv echosrv.o probe.o common.o $(LIBS)
52
60
 
53
61
$(MAN): sslh.pod Makefile
54
62
        pod2man --section=8 --release=$(VERSION) --center=" " sslh.pod | gzip -9 - > $(MAN)
60
68
 
61
69
# generic install: install binary and man page
62
70
install: sslh $(MAN)
63
 
        install -D sslh-fork $(PREFIX)/sbin/sslh
64
 
        install -D -m 0644 $(MAN) $(PREFIX)/share/man/man8/$(MAN)
 
71
        install -pD sslh-fork $(DESTDIR)$(PREFIX)/sbin/sslh
 
72
        install -pD -m 0644 $(MAN) $(DESTDIR)$(PREFIX)/share/man/man8/$(MAN)
65
73
 
66
74
# "extended" install for Debian: install startup script
67
75
install-debian: install sslh $(MAN)
71
79
        update-rc.d sslh defaults
72
80
 
73
81
uninstall:
74
 
        rm -f $(PREFIX)/sbin/sslh $(PREFIX)/share/man/man8/$(MAN) /etc/init.d/sslh /etc/default/sslh
 
82
        rm -f $(DESTDIR)$(PREFIX)/sbin/sslh $(DESTDIR)$(PREFIX)/share/man/man8/$(MAN) $(DESTDIR)/etc/init.d/sslh $(DESTDIR)/etc/default/sslh
75
83
        update-rc.d sslh remove
76
84
 
 
85
distclean: clean
 
86
        rm -f tags cscope.*
 
87
 
77
88
clean:
78
 
        rm -f sslh-fork sslh-select echosrv $(MAN) *.o *.gcov *.gcno *.gcda *.png *.html *.css *.info 
 
89
        rm -f sslh-fork sslh-select echosrv version.h $(MAN) *.o *.gcov *.gcno *.gcda *.png *.html *.css *.info
79
90
 
80
91
tags:
81
92
        ctags --globals -T *.[ch]
82
93
 
 
94
cscope:
 
95
        -find . -name "*.[chS]" >cscope.files
 
96
        -cscope -b -R
 
97
 
83
98
test:
84
99
        ./t
85
100