blob: 34f3b1d99934abed37f4bf2702fa61bfdf6172be (
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
|
prefix = /usr
DESTDIR =
DEBUG = false
FETCH_WITH_INET6 = true
FETCH_WITH_OPENSSL = true
WARNINGS = -Wall -Wstrict-prototypes -Wsign-compare -Wchar-subscripts \
-Wpointer-arith -Wcast-align
CFLAGS ?= -O2 -pipe
CFLAGS += -fPIC $(WARNINGS)
CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES
CFLAGS += -DFTP_COMBINE_CWDS -DNETBSD
ifeq ($(strip $(FETCH_WITH_INET6)), true)
CFLAGS += -DINET6
endif
ifeq ($(strip $(FETCH_WITH_OPENSSL)), true)
CFLAGS += -DWITH_SSL
LDADD += -Wl,-lssl -Wl,-lcrypto
endif
INSTALL = install -c -D
OBJS= fetch.o common.o ftp.o http.o file.o
INCS= fetch.h common.h
GEN = ftperr.h httperr.h
MAN = libdownload.3
all: libfetch.so libfetch.a
.PHONY: all
%.o: %.c $(INCS) $(GEN)
$(CC) $(CFLAGS) -c $<
ftperr.h: ftp.errors Makefile errlist.sh
./errlist.sh ftp_errlist FTP ftp.errors > $@
httperr.h: http.errors Makefile errlist.sh
./errlist.sh http_errlist HTTP http.errors > $@
libfetch.so: $(GEN) $(INCS) $(OBJS)
rm -f $@
$(CC) $(LDFLAGS) $(OBJS) $(LDADD) -shared -fPIC -o $@
libfetch.a: $(GEN) $(INCS) $(OBJS)
rm -f $@
$(AR) rcs $@ $(OBJS)
clean:
rm -f libfetch.so libfetch.a *.o $(GEN)
.PHONY: clean
install: all
$(INSTALL) -m 755 libfetch.so $(DESTDIR)$(prefix)/lib/libfetch.so
$(INSTALL) -m 644 libfetch.a $(DESTDIR)$(prefix)/lib/libfetch.a
$(INSTALL) -m 644 fetch.h $(DESTDIR)$(prefix)/include/fetch.h
$(INSTALL) -m 644 fetch.3 $(DESTDIR)$(prefix)/share/man/man3/fetch.3
.PHONY: install
uninstall:
rm -f $(DESTDIR)$(prefix)/lib/libfetch.so
rm -f $(DESTDIR)$(prefix)/lib/libfetch.a
rm -f $(DESTDIR)$(prefix)/include/fetch.h
rm -f $(DESTDIR)$(prefix)/share/man/man3/fetch.3
.PHONY: uninstall
|