138 lines
4.3 KiB
Makefile
138 lines
4.3 KiB
Makefile
#
|
|
#
|
|
#
|
|
|
|
top_srcdir = @top_srcdir@
|
|
top_builddir = ..
|
|
this_srcdir = ${top_srcdir}/lib
|
|
|
|
include ${top_builddir}/Make.rules
|
|
|
|
vpath %.c ${this_srcdir}
|
|
|
|
LIBS := @LIBS@
|
|
REENTRANT_CFLAGS := @REENTRANT_CFLAGS@
|
|
VERSIONED_LINK := @VERSIONED_LINK@
|
|
|
|
SHARED_NCPLIB := libncp.so
|
|
SHARED_NCPLIB_BIN := $(SHARED_NCPLIB).$(VERSION_SOLIB)
|
|
SHARED_NCPLIB_SONAME := $(SHARED_NCPLIB).$(VERSION_SONAME)
|
|
STATIC_NCPLIB := libncp.a
|
|
STATIC_NCPLIB_BIN := $(STATIC_NCPLIB)
|
|
|
|
CCFLAGS += -I.
|
|
PIC_FLAGS := -fPIC
|
|
NWCOMPAT := 1
|
|
|
|
SHARED_VLINK :=
|
|
SHARED_VLINK_CFLAGS :=
|
|
ifeq ($(VERSIONED_LINK),yes)
|
|
SHARED_VLINK := -Wl,-version-script=${this_srcdir}/libncp.vers
|
|
SHARED_VLINK_CFLAGS := -DMULTIVERSION
|
|
endif
|
|
|
|
STATIC_BASE_OBJ := ncplib.o filemgmt.o queue.o nwcalls.o nwtime.o cfgfile.o \
|
|
fs/eas.o strops.o ncpext.o nwclient.o resolve.o fs/filelock.o stats.o
|
|
ifdef NDS_SUPPORT
|
|
STATIC_NDS_OBJ := ndslib.o mpilib.o
|
|
STATIC_BASE_OBJ += ndscrypt.o nwnet.o wcs.o \
|
|
rdn.o ds/filter.o ds/search.o ds/request.o ds/setkeys.o \
|
|
ds/dsgetstat.o ds/partops.o ds/iterhandle.o ds/effright.o \
|
|
ds/dsread.o ds/dslist.o ds/bindctx.o ds/classes.o \
|
|
ds/syntaxes.o ds/dsstream.o \
|
|
o_ndslib.o
|
|
endif
|
|
ifdef SIGNATURES
|
|
STATIC_BASE_OBJ += ncpsign.o
|
|
endif
|
|
|
|
SHARED_BASE_OBJ := $(STATIC_BASE_OBJ:.o=.do)
|
|
SHARED_NDS_OBJ := $(STATIC_NDS_OBJ:.o=.do)
|
|
|
|
STATIC_O_OBJ := $(STATIC_BASE_OBJ) $(STATIC_NDS_OBJ)
|
|
SHARED_O_OBJ := $(SHARED_BASE_OBJ) $(SHARED_NDS_OBJ)
|
|
|
|
BASE_CFLAGS := -DHAVE_CONFIG_H -DMAKE_NCPLIB -D_GNU_SOURCE
|
|
NDS_CFLAGS := $(BASE_CFLAGS) -DPORTABLE -DUPTON
|
|
CFLAGS_ncplib.o := -DNWSFIND=\"$(bindir)/nwsfind\"
|
|
CFLAGS_cfgfile.o := -DGLOBALCFGFILE=\"$(sysconfdir)/ncpfs.conf\"
|
|
|
|
STATIC_CFLAGS := $(CFLAGS) $(CCFLAGS) $(REENTRANT_CFLAGS) @FFUNCTION_SECTIONS@
|
|
SHARED_CFLAGS := $(CFLAGS) $(CCFLAGS) $(REENTRANT_CFLAGS) $(PIC_FLAGS) $(SHARED_VLINK_CFLAGS)
|
|
|
|
.PHONY : all dep install install-dev clean mrproper distclean
|
|
.PHONY : install_shared install_static install_static_su
|
|
|
|
all: $(STATIC_NCPLIB) $(SHARED_NCPLIB)
|
|
|
|
install: install_shared
|
|
|
|
%.d: %.c
|
|
set -e; $(CC) -M $(STATIC_CFLAGS) $(CFLAGS_$(@:.d=.o)) $(BASE_CFLAGS) $< \
|
|
| sed 's,\($*\)\.o[ :]*,\1.o \1.do \1.to $@ : ,g' > $@; \
|
|
[ -s $@ ] || rm -f $@
|
|
|
|
$(STATIC_NDS_OBJ): %.o: %.c
|
|
$(CC) $(STATIC_CFLAGS) $(CFLAGS_$@) $(NDS_CFLAGS) -o $@ -c $<
|
|
|
|
$(STATIC_BASE_OBJ): %.o: %.c
|
|
$(CC) $(STATIC_CFLAGS) $(CFLAGS_$@) $(BASE_CFLAGS) -o $@ -c $<
|
|
|
|
$(SHARED_NDS_OBJ): %.do: %.c
|
|
$(CC) $(SHARED_CFLAGS) $(CFLAGS_$(@:.do=.o)) $(NDS_CFLAGS) -o $@ -c $<
|
|
|
|
$(SHARED_BASE_OBJ): %.do: %.c
|
|
$(CC) $(SHARED_CFLAGS) $(CFLAGS_$(@:.do=.o)) $(BASE_CFLAGS) -o $@ -c $<
|
|
|
|
dep:
|
|
|
|
clean:
|
|
rm -f *.o *.do *.to *~ ds/*.o ds/*.do ds/*.to ds/*~ fs/*.o fs/*.do fs/*.to fs/*~
|
|
rm -f libncp.a libncp.so* libncpsu.*
|
|
|
|
mrproper: clean
|
|
rm -f $(UTILS) $(DISTFILE) *.d fs/*.d ds/*.d
|
|
|
|
distclean: mrproper
|
|
|
|
install_shared: $(SHARED_NCPLIB_BIN)
|
|
$(INSTALL) -d $(DESTDIR)$(libsodir)
|
|
$(INSTALL) $(SHARED_NCPLIB_BIN) $(DESTDIR)$(libsodir)
|
|
-ldconfig
|
|
|
|
install-dev: install_shared install_static
|
|
ln -sf $(SHARED_NCPLIB_SONAME) $(DESTDIR)$(libsodir)/$(SHARED_NCPLIB)
|
|
$(INSTALL) -d $(DESTDIR)$(includedir)/ncp
|
|
$(INSTALL) -d $(DESTDIR)$(includedir)/ncp/ext
|
|
$(INSTALL) -d $(DESTDIR)$(includedir)/ncp/kernel
|
|
$(INSTALL) -d $(DESTDIR)$(includedir)/ncp/obsolete
|
|
$(INSTALL_DATA) ${top_builddir}/include/ncp/*.h $(DESTDIR)$(includedir)/ncp
|
|
$(INSTALL_DATA) ${top_builddir}/include/ncp/ext/*.h $(DESTDIR)$(includedir)/ncp/ext
|
|
$(INSTALL_DATA) ${top_builddir}/include/ncp/kernel/*.h $(DESTDIR)$(includedir)/ncp/kernel
|
|
$(INSTALL_DATA) ${top_builddir}/include/ncp/obsolete/*.h $(DESTDIR)$(includedir)/ncp/obsolete
|
|
ifneq (${top_srcdir},${top_builddir})
|
|
$(INSTALL_DATA) ${top_srcdir}/include/ncp/*.h $(DESTDIR)$(includedir)/ncp
|
|
$(INSTALL_DATA) ${top_srcdir}/include/ncp/ext/*.h $(DESTDIR)$(includedir)/ncp/ext
|
|
$(INSTALL_DATA) ${top_srcdir}/include/ncp/kernel/*.h $(DESTDIR)$(includedir)/ncp/kernel
|
|
$(INSTALL_DATA) ${top_srcdir}/include/ncp/obsolete/*.h $(DESTDIR)$(includedir)/ncp/obsolete
|
|
endif
|
|
|
|
$(SHARED_NCPLIB): $(SHARED_NCPLIB_BIN)
|
|
rm -f $@
|
|
ln -sf $< $@
|
|
|
|
$(SHARED_NCPLIB_BIN): $(SHARED_O_OBJ) ${this_srcdir}/libncp.vers
|
|
$(CC) -shared -o $@ -Wl,-soname=$(SHARED_NCPLIB_SONAME) $(SHARED_VLINK) $(SHARED_O_OBJ) ${LIBS} -lc
|
|
|
|
install_static: $(STATIC_NCPLIB_BIN)
|
|
$(INSTALL) -d $(DESTDIR)$(libadir)
|
|
$(INSTALL_DATA) $(STATIC_NCPLIB_BIN) $(DESTDIR)$(libadir)
|
|
|
|
$(STATIC_NCPLIB): $(STATIC_O_OBJ)
|
|
ar r $@ $(STATIC_O_OBJ)
|
|
|
|
ifeq ($(NEED_DEP),yes)
|
|
include $(STATIC_O_OBJ:.o=.d)
|
|
endif
|
|
|