PREFIX      =
SBINDIR     = $(PREFIX)/sbin
MANDIR      = $(PREFIX)/usr/share/man
CONFDIR     = $(PREFIX)/etc
CONFIG_FILE = $(CONFDIR)/devfsd.conf
DEFINES	:= -DLIBNSL="\"/lib/libnsl.so.1\""
ifndef KERNEL_DIR
KERNEL_DIR  = /usr/src/linux
endif


all:	devfsd rpm.spec


OBJECTS = devfsd.o expression.o compat_name.o check_kernel.o

CFLAGS =  -I. -I$(KERNEL_DIR)/include -Wall $(CEXTRAS) $(DEFINES)

devfsd:	$(OBJECTS)
	$(CC)  -o devfsd $(OBJECTS) $(LDFLAGS) -export-dynamic -ldl

check_kernel.o: check_kernel.c
	$(CC) -fomit-frame-pointer  -c $<

install: devfsd
	if [ ! -e $(SBINDIR) ]; then mkdir -p $(SBINDIR); fi
	rm -f $(SBINDIR)/devfsd
	install -s devfsd $(SBINDIR)/devfsd
	if [ ! -e $(MANDIR)/man5 ]; then mkdir -p $(MANDIR)/man5; fi
	if [ ! -e $(MANDIR)/man8 ]; then mkdir -p $(MANDIR)/man8; fi
	-rm -f $(MANDIR)/*/devfsd.*
	cp -p devfsd.8 $(MANDIR)/man8
	cp -p devfsd.conf.5 $(MANDIR)/man5
	if [ ! -e $(CONFDIR) ]; then mkdir -p $(CONFDIR); fi
	if [ ! -e $(CONFIG_FILE) ]; then cp -p devfsd.conf $(CONFIG_FILE); fi
	@echo "Installing /etc/modules.devfs"
	@sed "s/DEVFSD-VERSION/`grep '#define DEVFSD_VERSION' version.h | cut -d'"' -f 2`/" modules.devfs > $(CONFDIR)/modules.devfs


rpm.spec:	version.h
	echo "%define version `grep '#define DEVFSD_VERSION' version.h | cut -d'"' -f 2`" > rpm.new
	tail +2 rpm.spec >> rpm.new
	mv rpm.new rpm.spec


clean:
	-rm -f *~ *.o *.orig *.rej


distclean: clean
	-rm -f devfsd


# Dependencies: made by hand
devfsd.o: devfsd.h version.h
