blob: d1d24d1f3c90566a16667bb5ae33fb2fc9d8d67f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
PREFIX = /Library/Polipo
BINDIR = $(PREFIX)/bin
MANDIR = $(PREFIX)/man
INFODIR = $(PREFIX)/info
LOCAL_ROOT = $(PREFIX)/www
DISK_CACHE_ROOT = $(PREFIX)/cache
CC = gcc
# CDEBUGFLAGS = -Os -g -Wall -std=gnu99
CDEBUGFLAGS = -Os -g -Wall
FILE_DEFINES = -DLOCAL_ROOT=\"$(LOCAL_ROOT)/\" \
-DDISK_CACHE_ROOT=\"$(DISK_CACHE_ROOT)/\"
# You may optionally also add any of the following to DEFINES:
#
# -DNO_DISK_CACHE to compile out the on-disk cache and local web server;
# -DNO_IPv6 to avoid using the RFC 3493 API and stick to stock
# Berkeley sockets;
# -DHAVE_IPv6 to force the use of the RFC 3493 API on systems other
# than GNU/Linux and BSD (let me know if it works);
# -DNO_FANCY_RESOLVER to compile out the asynchronous name resolution
# code;
# -DNO_STANDARD_RESOLVER to compile out the code that falls back to
# gethostbyname/getaddrinfo when DNS requests fail;
# -DNO_TUNNEL to compile out the code that handles CONNECT requests;
# -DNO_SOCKS to compile out the SOCKS gateway code.
# -DNO_FORBIDDEN to compile out the all of the forbidden URL code
# -DNO_REDIRECTOR to compile out the Squid-style redirector code
DEFINES = $(FILE_DEFINES) $(PLATFORM_DEFINES)
CFLAGS = $(MD5INCLUDES) $(CDEBUGFLAGS) $(DEFINES) $(EXTRA_DEFINES)
SRCS = util.c event.c io.c chunk.c atom.c object.c log.c diskcache.c main.c \
config.c local.c http.c client.c server.c auth.c tunnel.c \
http_parse.c parse_time.c dns.c forbidden.c \
md5import.c md5.c ftsimport.c fts_compat.c socks.c
OBJS = util.o event.o io.o chunk.o atom.o object.o log.o diskcache.o main.o \
config.o local.o http.o client.o server.o auth.o tunnel.o \
http_parse.o parse_time.o dns.o forbidden.o \
md5import.o ftsimport.o socks.o
polipo: $(OBJS)
$(CC) $(CFLAGS) $(LDFLAGS) -o polipo $(OBJS) $(MD5LIBS) $(LDLIBS)
ftsimport.o: ftsimport.c fts_compat.c
md5import.o: md5import.c md5.c
.PHONY: all install install.binary install.man
all: polipo
install: install.binary install.man
install.binary: all
mkdir -p $(TARGET)$(BINDIR)
mkdir -p $(TARGET)$(LOCAL_ROOT)
mkdir -p $(TARGET)$(LOCAL_ROOT)/doc
mkdir -p $(TARGET)$(DISK_CACHE_ROOT)
cp -f polipo $(TARGET)$(BINDIR)/
cp -f localindex.html $(TARGET)$(LOCAL_ROOT)/index.html
cp -f config.osx $(TARGET)$(LOCAL_ROOT)/config
texi2html polipo.texi && cp -f polipo.html $(TARGET)$(LOCAL_ROOT)/doc/index.html
groff polipo.man -T ps -m man | pstopdf -i -o $(TARGET)/polipo.pdf
mkdir -p /Library/StartupItems/Polipo
cp -f contrib/Polipo /Library/StartupItems/Polipo/
cp -f contrib/StartupParameters.plist /Library/StartupItems/Polipo/
echo "POLIPO=-YES-" >> /etc/hostconfig
install.man: all
mkdir -p $(TARGET)$(MANDIR)/man1
cp -f polipo.man $(TARGET)$(MANDIR)/man1/polipo.1
TAGS: $(SRCS)
etags $(SRCS)
.PHONY: clean
clean:
-rm -f polipo *.o *~ core TAGS gmon.out
-rm -f polipo.cp polipo.fn polipo.log polipo.vr
-rm -f polipo.cps polipo.info* polipo.pg polipo.toc polipo.vrs
-rm -f polipo.aux polipo.dvi polipo.ky polipo.ps polipo.tp
-rm -f polipo.dvi polipo.ps polipo.ps.gz polipo.pdf polipo.html
-rm -rf ./html/
-rm -f polipo.man.html
.PHONY: uninstall
uninstall:
rm -rf /Library/Polipo
rm -rf /Library/StartupItems/Polipo
cp -f /etc/hostconfig /etc/hostconfig.polipo.saved
cat /etc/hostconfig.polipo.saved | grep -v POLIPO > /etc/hostconfig
|