#
# Makefile for the linux ncp-filesystem routines.
#

top_srcdir = ..
top_builddir = ..
this_srcdir = ${top_srcdir}/util

include ${top_builddir}/Make.rules

vpath %.c ${this_srcdir}

USE_KERNEL = 1
NDS_SUPPORT = 1
MOUNT2 = 1

LIBS = $(top_srcdir)/../lib/utils.a

O_USERUTILS = pserver.o frame.o
O_SBINUTILS =

USERUTILS = $(O_USERUTILS:%.o=%)
SBINUTILS = $(O_SBINUTILS:%.o=%)

UTILS = $(USERUTILS) $(SBINUTILS)

ifeq ($(HAVE_ELF),yes)
NCP_LIB = libncp.so
NCPLIB_DIR = ../lib
LIBDEP = $(NCPLIB_DIR)/$(NCP_LIB)
else
NCP_LIB = libncp.a
NCPLIB_DIR = ../lib
LIBDEP = $(NCPLIB_DIR)/$(NCP_LIB)
endif

CFLAGS_ncopy.o = -D_GNU_SOURCE
ADDOBJS_pqstat = dsqueue.o
ADDOBJS_pqrm   = dsqueue.o
ADDOBJS_nprint = dsqueue.o

.PHONY : all install install-dev dep clean mrproper distclean
.PHONY : default

default:
	make -C ..

all: $(UTILS)

install: all
	${INSTALL} -d $(DESTDIR)$(bindir)
	${INSTALL} $(USERUTILS) $(DESTDIR)$(bindir)
ifneq ($(SBINUTILS),)
	${INSTALL} -d $(DESTDIR)$(sbindir)
	${INSTALL} $(SBINUTILS) $(DESTDIR)$(sbindir)
endif

install-dev:

../lib/libncp.a:
	make -C ../lib libncp.a

../lib/libncp.so:
	make -C ../lib libncp.so

$(O_USERUTILS) $(O_SBINUTILS) $(O_OTHER) ncptest.o: %.o: %.c
	$(CC) $(CFLAGS) $(CCFLAGS) $(CFLAGS_$@) -o $@ -c $<

%.d: %.c
	set -e; $(CC) -M $(CFLAGS) $(CCFLAGS) $(CFLAGS_$(@:.d=.o)) $< \
		| sed 's,\($*\)\.o[ :]*,\1.o \1.do \1.to $@ : ,g' > $@; \
		[ -s $@ ] || rm -f $@

					
$(UTILS): %: %.o $(LIBDEP)
	$(CC) -static $(CFLAGS) -o $@ $(addsuffix .o,$@) $(ADDOBJS_$@) -L$(NCPLIB_DIR) -lncp ${LIBS}

dep:

clean:
	rm -f *.o *~ core $(UTILS) ipx_probe

mrproper: clean
	rm -f *.d

distclean: mrproper

ifeq ($(NEED_DEP),yes)
include $(UTILS:%=%.d)
endif

