# Copyright (C) 2011  Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.

# $Id: Makefile 1239 2011-07-03 08:51:48Z fdupont $

CC = gcc
CFLAGS = -O -g -Wall -Wextra
# fix me: can be /usr/lib64 too
LIBDIR = /usr/lib

all: simple simple6
shared: simple-shared simple6-shared

pcp.o: pcp.h pcp.c
	$(CC) $(CFLAGS) -fPIC -c pcp.c

simple: simple.c pcp.o
	$(CC) $(CFLAGS) -o $@ $^

simple6: simple6.c pcp.o
	$(CC) $(CFLAGS) -o $@ $^

python: libpcpmodule.c pcp.o
	python setup.py -v build

libpcp.so: pcp.o
	$(CC) -shared -Wl,-soname,libpcp.so.0 -o $@ $<

simple-shared: simple.c libpcp.so
	$(CC) $(CFLAGS) -o $@ $^

simple6-shared: simple.c libpcp.so
	$(CC) $(CFLAGS) -o $@ $^

installinc: pcp.h
	install -d $(PREFIX)/usr/include
	install -m 644 pcp.h $(PREFIX)/usr/include

installpython: libpcpmodule.c pcp.o
	python setup.py -v install

installlib: libpcp.so
	install -d $(PREFIX)$(LIBDIR)
	install -m 644 libpcp.so $(PREFIX)$(LIBDIR)/libpcp.so.0
	ln -s -f libpcp.so.0 $(PREFIX)$(LIBDIR)/libpcp.so

clean:
	rm -f *.o *.so simple simple6 simple-shared simple6-shared
	rm -rf build
