#!/usr/bin/make -f
# Licensed under the terms of the GPLv2
# Guillaume Destuynder <kang@rsbac.org>

#
# Configuration
#

INSTALL		:= install
CC		:= gcc

DESTDIR		:= 
PREFIX		:= /usr/local
DIR_PAM		:= /lib/security


CFLAGS		:= -fPIC -O2 -fomit-frame-pointer
CFLAGS		+= -shared -I../headers -I/usr/include -I/usr/local/include \
		   -I$(PREFIX)/include
LDFLAGS		:=

LIBS		:= -L../libs/.libs -L$(PREFIX)/lib -lrsbac

FILES_PAM	:= $(wildcard *.c)

#
# Nice make. Use make VERBOSE=1 to verbose compilation.
#
ifneq ($(VERBOSE), 1)
.SILENT:
E = @echo -e " "
else
E = @:
endif

#
# Targets
#

all: $(FILES_PAM:.c=.so)
$(FILES_PAM:.c=.so): $(FILES_PAM)
	$(foreach f, $(FILES_PAM), echo -e "  LIB\t\t$(f)"; \
	$(CC) $(LDFLAGS) $(CFLAGS) $(LIBS) -o $(f:.c=.so) $(f);)
clean:
	$(E) "CLEAN\t\t$(FILES_PAM:.c=.so)"
	rm -f $(FILES_PAM:.c=.so)

distclean: clean
	
install: $(FILES_PAM:.c=.so)
	$(E) "INTO\t\t$(DESTDIR)"
	$(E) "DIR\t\t$(DIR_PAM)"
	$(INSTALL) -d $(DESTDIR)/$(DIR_PAM)
	$(E) "INSTALL\t$(FILES_PAM:.c=.so)"
	$(INSTALL) -m755 $(FILES_PAM:.c=.so) $(DESTDIR)/$(DIR_PAM)

uninstall:
	$(foreach f, $(FILES_PAM:.c=.so), echo -e "  UNINSTALL\t$(f)"; \
	rm -f $(DESTDIR)/$(DIR_PAM)/$(f);)


.PHONY: all clean distclean uninstall
