# # # top_srcdir = ../.. top_builddir = ../.. this_srcdir = ${top_srcdir}/lib include ${top_builddir}/Make.rules VERSION_SOLIB := 2.3 VERSION_SONAME := 2 vpath %.c ${this_srcdir} LIBS := REENTRANT_CFLAGS := -D_REENTRANT VERSIONED_LINK := yes SHARED_NSSLIB := libnss_ncp.so SHARED_NSSLIB_BIN := $(SHARED_NSSLIB).$(VERSION_SOLIB) SHARED_NSSLIB_SONAME := $(SHARED_NSSLIB).$(VERSION_SONAME) O_UTILS1 = test_ncp_nss.o\ # O_TMP1 = UTILS1 = $(O_UTILS1:%.o=%) 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 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 STATIC_BASE_OBJ := nss_ncp.o nss_cfgfile.o SHARED_BASE_OBJ := $(STATIC_BASE_OBJ:.o=.do) SHARED_O_OBJ := $(SHARED_BASE_OBJ) BASE_CFLAGS := -DHAVE_CONFIG_H -DMAKE_NCPLIB -D_GNU_SOURCE 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: $(SHARED_NSSLIB) $(UTILS1) install: install_shared %.d: %.c %h 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_BASE_OBJ): %.o: %.c %.h $(CC) $(STATIC_CFLAGS) $(CFLAGS_$@) $(BASE_CFLAGS) -o $@ -c $< $(SHARED_BASE_OBJ): %.do: %.c %.h $(CC) $(SHARED_CFLAGS) $(CFLAGS_$(@:.do=.o)) $(BASE_CFLAGS) -o $@ -c $< $(O_UTILS1) $(O_TMP1): %.o: %.c $(CC) $(CCFLAGS) $(CFLAGS) $(CFLAGS_$@) -o $@ -c $< $(UTILS1):: %: %.o $(O_TMP1) $(SHARED_NSSLIB) $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(addsuffix .o,$@) $(OBJS_$@) -L. -lnss_ncp -L$(top_builddir)/lib -lncp $(LDFLAGS_$@) dep: clean: rm -f *.o *.do *.to $(SHARED_NSSLIB) $(SHARED_NSSLIB_BIN) $(UTILS1) *~ mrproper: clean rm -f $(UTILS) $(DISTFILE) distclean: mrproper install_shared: $(SHARED_NCPLIB_BIN) $(INSTALL) -d $(DESTDIR)$(libsodir) $(INSTALL) $(SHARED_NCPLIB_BIN) $(DESTDIR)$(libsodir) -ldconfig $(SHARED_NSSLIB): $(SHARED_NSSLIB_SONAME) rm -f $@ ln -sf $< $@ $(SHARED_NSSLIB_SONAME): $(SHARED_NSSLIB_BIN) ln -sf $< $@ $(SHARED_NSSLIB_BIN): $(SHARED_O_OBJ) ${this_srcdir}/libncp.vers $(CC) -shared -o $@ -Wl,-soname=$(SHARED_NSSLIB_SONAME) $(SHARED_VLINK) $(SHARED_O_OBJ) -L$(NCPLIB_DIR) -lncp ${LIBS}