115 lines
2.5 KiB
Makefile
115 lines
2.5 KiB
Makefile
#
|
|
#
|
|
#
|
|
|
|
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}
|
|
|
|
|
|
|