File Makefile of Package libfetch

prefix = /usr
libdir = /usr/lib
DESTDIR =
DEBUG = false
FETCH_WITH_INET6 = true
FETCH_WITH_OPENSSL = true
FETCH_WITH_LFS = true

WARNINGS = -Wall -Wstrict-prototypes -Wsign-compare -Wchar-subscripts \
	   -Wpointer-arith -Wcast-align -Wsign-compare
CFLAGS += -fPIC $(WARNINGS)


CFLAGS += -DFTP_COMBINE_CWDS -DNETBSD

ifeq ($(strip $(FETCH_WITH_LFS)), true)
CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES
endif

ifeq ($(strip $(FETCH_WITH_INET6)), true)
CFLAGS += -DINET6
endif

ifeq ($(strip $(FETCH_WITH_OPENSSL)), true)
CFLAGS += -DWITH_SSL
LIBS = -lssl -lcrypto
endif

ifeq ($(strip $(DEBUG)), true)
CFLAGS += -g -DDEBUG
else
CFLAGS += -UDEBUG
endif

CC = gcc
LD = gcc
AR = ar
RANLIB = ranlib
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
	./errlist.sh ftp_errlist FTP ftp.errors > $@

httperr.h: http.errors
	./errlist.sh http_errlist HTTP http.errors > $@

libfetch.so: $(GEN) $(INCS) $(OBJS)
	rm -f $@
	$(LD) $(LDFLAGS) *.o -shared -o $@ $(LIBS)

libfetch.a: $(GEN) $(INCS) $(OBJS)
	rm -f $@
	$(AR) rcs $@ *.o
	$(RANLIB) $@

clean:
	rm -f libfetch.so libfetch.a *.o $(GEN)

.PHONY: clean

install: all
	$(INSTALL) -p -m 0755 libfetch.so $(DESTDIR)$(libdir)/libfetch.so
	$(INSTALL) -p -m 0644 libfetch.a $(DESTDIR)$(libdir)/libfetch.a
	$(INSTALL) -p -m 0644 fetch.h $(DESTDIR)$(prefix)/include/fetch.h
	$(INSTALL) -p -m 0644 fetch.3 $(DESTDIR)$(prefix)/share/man/man3/fetch.3

.PHONY: install

uninstall:
	rm -f $(DESTDIR)$(libdir)/libfetch.so
	rm -f $(DESTDIR)$(libdir)/libfetch.a
	rm -f $(DESTDIR)$(prefix)/include/fetch.h
	rm -f $(DESTDIR)$(prefix)/share/man/man3/fetch.3

.PHONY: uninstall
openSUSE Build Service is sponsored by