Преглед изворни кода

This sanitizes the makefiles in several ways
* .so and .so.1 files are linked to library.so.1.0.0 and installed with
make install
* renames all build targets to library.so.1.0.0 from library.so.1.0
* puts ld.so.conf.d files in the correct place
* allows not installing static libraries by using make install
STATICLIBS=NO


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1054 fd59a12c-fef9-0310-b244-a6a79926bd2f

Steven Dake пре 20 година
родитељ
комит
6fa2d1e767
3 измењених фајлова са 95 додато и 37 уклоњено
  1. 68 11
      Makefile
  2. 4 4
      exec/Makefile
  3. 23 22
      lib/Makefile

+ 68 - 11
Makefile

@@ -36,14 +36,13 @@ INCLUDEDIR_TOTEM=/usr/include/openais/totem
 INCLUDEDIR_LCR=/usr/include/openais/lcr
 MANDIR=/usr/share/man
 ETCDIR=/etc/ais
+LCRSODIR=/usr/libexec/lcrso
 ARCH=$(shell uname -p)
 
 ifeq (,$(findstring 64,$(ARCH)))
 LIBDIR=/usr/lib/openais
-LCRSODIR=/usr/lib/openais/lcrso
 else
 LIBDIR=/usr/lib64/openais
-LCRSODIR=/usr/lib64/openais/lcrso
 endif
 
 all:
@@ -70,20 +69,78 @@ install:
 	mkdir -p $(DESTDIR)$(MANDIR)/man3
 	mkdir -p $(DESTDIR)$(MANDIR)/man5
 	mkdir -p $(DESTDIR)$(MANDIR)/man8
-	mkdir -p $(DESTDIR)$(ETCDIR)/ld.so.conf.d
+	mkdir -p $(DESTDIR)/etc/ld.so.conf.d
 
+	ln -sf libais.so.1.0.0 lib/libais.so
+	ln -sf libSaAmf.so.1.0.0 lib/libSaAmf.so
+	ln -sf libSaClm.so.1.0.0 lib/libSaClm.so
+	ln -sf libSaCkpt.so.1.0.0 lib/libSaCkpt.so
+	ln -sf libSaEvt.so.1.0.0 lib/libSaEvt.so
+	ln -sf libSaLck.so.1.0.0 lib/libSaLck.so
+	ln -sf libSaMsg.so.1.0.0 lib/libSaMsg.so
+	ln -sf libevs.so.1.0.0 lib/libevs.so
+	ln -sf libcpg.so.1.0.0 lib/libcpg.so
+	ln -sf libtotem_pg.so.1.0.0 exec/libtotem_pg.so
+
+	ln -sf libais.so.1.0.0 lib/libais.so.1
+	ln -sf libSaAmf.so.1.0.0 lib/libSaAmf.so.1
+	ln -sf libSaClm.so.1.0.0 lib/libSaClm.so.1
+	ln -sf libSaCkpt.so.1.0.0 lib/libSaCkpt.so.1
+	ln -sf libSaEvt.so.1.0.0 lib/libSaEvt.so.1
+	ln -sf libSaLck.so.1.0.0 lib/libSaLck.so.1
+	ln -sf libSaMsg.so.1.0.0 lib/libSaMsg.so.1
+	ln -sf libevs.so.1.0.0 lib/libevs.so.1
+	ln -sf libcpg.so.1.0.0 lib/libcpg.so.1
+	ln -sf libtotem_pg.so.1.0.0 exec/libtotem_pg.so.1
+
+	cp -a lib/libais.so $(DESTDIR)$(LIBDIR)
+	cp -a lib/libSaAmf.so $(DESTDIR)$(LIBDIR)
+	cp -a lib/libSaCkpt.so $(DESTDIR)$(LIBDIR)
+	cp -a lib/libSaEvt.so $(DESTDIR)$(LIBDIR)
+	cp -a lib/libSaLck.so $(DESTDIR)$(LIBDIR)
+	cp -a lib/libSaMsg.so $(DESTDIR)$(LIBDIR)
+	cp -a lib/libevs.so $(DESTDIR)$(LIBDIR)
+	cp -a lib/libcpg.so $(DESTDIR)$(LIBDIR)
+	cp -a exec/libtotem_pg.so $(DESTDIR)$(LIBDIR)
+
+	cp -a lib/libais.so.1 $(DESTDIR)$(LIBDIR)
+	cp -a lib/libSaAmf.so.1 $(DESTDIR)$(LIBDIR)
+	cp -a lib/libSaCkpt.so.1 $(DESTDIR)$(LIBDIR)
+	cp -a lib/libSaEvt.so.1 $(DESTDIR)$(LIBDIR)
+	cp -a lib/libSaLck.so.1 $(DESTDIR)$(LIBDIR)
+	cp -a lib/libSaMsg.so.1 $(DESTDIR)$(LIBDIR)
+	cp -a lib/libevs.so.1 $(DESTDIR)$(LIBDIR)
+	cp -a lib/libcpg.so.1 $(DESTDIR)$(LIBDIR)
+	cp -a exec/libtotem_pg.so.1 $(DESTDIR)$(LIBDIR)
+
+	install -m 755 lib/libais.so.1.* $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libSaAmf.so.1.* $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libSaClm.so.1.* $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libSaCkpt.so.1.* $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libSaEvt.so.1.* $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libSaLck.so.1.* $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libSaMsg.so.1.* $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libevs.so.1.* $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libcpg.so.1.* $(DESTDIR)$(LIBDIR)
+	install -m 755 exec/libtotem_pg.so.1.* $(DESTDIR)$(LIBDIR)
+
+ifneq "NO" "$(STATICLIBS)"
 	install -m 755 lib/libais.a $(DESTDIR)$(LIBDIR)
-	install -m 755 lib/libais.so* $(DESTDIR)$(LIBDIR)
-	install -m 755 lib/libSa*.a $(DESTDIR)$(LIBDIR)
-	install -m 755 lib/libSa*.so* $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libSaAmf.a $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libSaClm.a $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libSaCkpt.a $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libSaEvt.a $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libSaLck.a $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libSaMsg.a $(DESTDIR)$(LIBDIR)
 	install -m 755 lib/libevs.a $(DESTDIR)$(LIBDIR)
-	install -m 755 lib/libevs.so* $(DESTDIR)$(LIBDIR)
 	install -m 755 lib/libcpg.a $(DESTDIR)$(LIBDIR)
-	install -m 755 lib/libcpg.so* $(DESTDIR)$(LIBDIR)
-	echo $(LIBDIR) > $(DESTDIR)$(ETCDIR)/ld.so.conf.d/openais-$(ARCH).conf
-	echo $(LCRSODIR) >> $(DESTDIR)$(ETCDIR)/ld.so.conf.d/openais-$(ARCH).conf
+	install -m 755 lib/libevs.a $(DESTDIR)$(LIBDIR)
+	install -m 755 lib/libcpg.a $(DESTDIR)$(LIBDIR)
+	install -m 755 exec/libtotem_pg.a $(DESTDIR)$(LIBDIR)
+endif
+
+	echo $(LIBDIR) > $(DESTDIR)/etc/ld.so.conf.d/openais-$(ARCH).conf
 
-	install -m 755 exec/libtotem_pg* $(DESTDIR)$(LIBDIR)
 	install -m 755 exec/*lcrso $(DESTDIR)$(LCRSODIR)
 
 	install -m 755 exec/aisexec $(DESTDIR)$(SBINDIR)

+ 4 - 4
exec/Makefile

@@ -63,7 +63,7 @@ ifeq (${BUILD_DYNAMIC}, 1)
 EXEC_OBJS = $(TOTEM_OBJS) $(MAIN_OBJS)
 CFLAGS += -fPIC
 
-all:libtotem_pg.a libtotem_pg.so.1.0 ../lcr/lcr_ifact.o \
+all:libtotem_pg.a libtotem_pg.so.1.0.0 ../lcr/lcr_ifact.o \
 	aisexec \
 	service_evs.lcrso service_clm.lcrso service_amf.lcrso \
 	service_ckpt.lcrso service_evt.lcrso service_lck.lcrso \
@@ -162,12 +162,12 @@ libtotem_pg.a: $(TOTEM_OBJS)
 
 ifeq (${OPENAIS_COMPAT}, DARWIN)
 
-libtotem_pg.so.1.0: $(TOTEM_OBJS)
+libtotem_pg.so.1.0.0: $(TOTEM_OBJS)
 	$(CC) $(LDFLAGS) -bundle -bind_at_load $(TOTEM_OBJS) -o $@
 
 else
 
-libtotem_pg.so.1.0: $(TOTEM_OBJS)
+libtotem_pg.so.1.0.0: $(TOTEM_OBJS)
 	$(CC) $(LDFLAGS) -shared -Wl,-soname,libtotem_pg.so.1 $(TOTEM_OBJS) -o $@
 
 endif
@@ -179,7 +179,7 @@ openais-instantiate: openais-instantiate.o
 	$(CC) $(LDFLAGS) openais-instantiate.o -o openais-instantiate
 
 clean:
-	rm -f aisexec $(OBJS) *.o *.lcrso libtotem_pg.so.1.0 libtotem_pg.so.1 libtotem_pg.so libtotem_pg.a gmon.out keygen keygen.o openais-instantiate *.da *.bb *.bbg
+	rm -f aisexec $(OBJS) *.o *.lcrso libtotem_pg.so* libtotem_pg.a gmon.out keygen keygen.o openais-instantiate *.da *.bb *.bbg
 
 depend:
 	makedepend -Y -- $(CFLAGS) $(CPPFLAGS) $(EXEC_SRC) $(TOTEM_SRC) $(LCR_SRC) > /dev/null 2>&1

+ 23 - 22
lib/Makefile

@@ -35,10 +35,11 @@ include ../Makefile.inc
 CFLAGS += -I../include
 LDFLAGS += -L./
 
-all:libSaClm.a libSaClm.so.1.0 libSaAmf.a libSaAmf.so.1.0 libSaCkpt.a \
-	libSaCkpt.so.1.0 libSaEvt.a libSaEvt.so.1.0 libSaLck.a libSaLck.so.1.0 libSaMsg.a libSaMsg.so.1.0 \
-	libcpg.a libcpg.so.1.0 \
-	libais.a libais.so.1.0 libevs.a libevs.so.1.0
+all:libSaClm.a libSaClm.so.1.0.0 libSaAmf.a libSaAmf.so.1.0.0 libSaCkpt.a \
+	libSaCkpt.so.1.0.0 libSaEvt.a libSaEvt.so.1.0.0 libSaLck.a \
+	 libSaLck.so.1.0.0 libSaMsg.a libSaMsg.so.1.0.0 \
+	libcpg.a libcpg.so.1.0.0 \
+	libais.a libais.so.1.0.0 libevs.a libevs.so.1.0.0
 
 LIBAIS_SRC = util.c amf.c clm.c ckpt.c evt.c
 
@@ -49,60 +50,60 @@ libSaClm.a: util.o clm.o
 
 ifeq (${OPENAIS_COMPAT}, DARWIN)
 
-libSaClm.so.1.0: util.o clm.o
+libSaClm.so.1.0.0: util.o clm.o
 	$(CC) $(LDFLAGS) -bundle -bind_at_load util.o clm.o -o $@
 
-libSaAmf.so.1.0: util.o amf.o
+libSaAmf.so.1.0.0: util.o amf.o
 	$(CC) $(LDFLAGS) -bundle -bind_at_load util.o amf.o -o $@
 
-libSaCkpt.so.1.0: util.o ckpt.o
+libSaCkpt.so.1.0.0: util.o ckpt.o
 	$(CC) $(LDFLAGS) -bundle -bind_at_load util.o ckpt.o -o $@
 
-libSaEvt.so.1.0: util.o evt.o
+libSaEvt.so.1.0.0: util.o evt.o
 	$(CC) $(LDFLAGS) -bundle -bind_at_load util.o evt.o -o $@
 
-libSaLck.so.1.0: util.o lck.o
+libSaLck.so.1.0.0: util.o lck.o
 	$(CC) $(LDFLAGS) -bundle -bind_at_load util.o lck.o -o $@
 
-libSaMsg.so.1.0: util.o msg.o
+libSaMsg.so.1.0.0: util.o msg.o
 	$(CC) $(LDFLAGS) -bundle -bind_at_load util.o msg.o -o $@
 
-libais.so.1.0: util.o amf.o clm.o ckpt.o evt.o lck.o msg.o
+libais.so.1.0.0: util.o amf.o clm.o ckpt.o evt.o lck.o msg.o
 	$(CC) $(LDFLAGS) -bundle -bind_at_load util.o amf.o clm.o ckpt.o evt.o -o $@
 
-libevs.so.1.0: util.o evs.o
+libevs.so.1.0.0: util.o evs.o
 	$(CC) $(LDFLAGS) -bundle -bind_at_load util.o evs.o -o $@
 
-libcpg.so.1.0: util.o cpg.o
+libcpg.so.1.0.0: util.o cpg.o
 	$(CC) -bundle -bind_at_load util.o cpg.o -o $@
 
 else
 
-libSaClm.so.1.0: util.o clm.o
+libSaClm.so.1.0.0: util.o clm.o
 	$(CC) $(LDFLAGS) -shared -Wl,-soname,libSaClm.so.1,-version-script=libSaClm.versions util.o clm.o -o $@
 
-libSaAmf.so.1.0: util.o amf.o
+libSaAmf.so.1.0.0: util.o amf.o
 	$(CC) $(LDFLAGS) -shared -Wl,-soname,libSaAmf.so.1,-version-script=libSaAmf.versions util.o amf.o -o $@
 
-libSaCkpt.so.1.0: util.o ckpt.o
+libSaCkpt.so.1.0.0: util.o ckpt.o
 	$(CC) $(LDFLAGS) -shared -Wl,-soname,libSaCkpt.so.1,-version-script=libSaCkpt.versions util.o ckpt.o -o $@
 
-libSaEvt.so.1.0: util.o evt.o
+libSaEvt.so.1.0.0: util.o evt.o
 	$(CC) $(LDFLAGS) -shared -Wl,-soname,libSaEvt.so.1,-version-script=libSaEvt.versions util.o evt.o -o $@
 
-libSaLck.so.1.0: util.o lck.o
+libSaLck.so.1.0.0: util.o lck.o
 	$(CC) $(LDFLAGS) -shared -Wl,-soname,libSaLck.so.1,-version-script=libSaLck.versions util.o lck.o -o $@
 
-libSaMsg.so.1.0: util.o msg.o
+libSaMsg.so.1.0.0: util.o msg.o
 	$(CC) $(LDFLAGS) -shared -Wl,-soname,libSaMsg.so.1,-version-script=libSaMsg.versions util.o msg.o -o $@
 
-libais.so.1.0: util.o amf.o clm.o ckpt.o evt.o lck.o msg.o
+libais.so.1.0.0: util.o amf.o clm.o ckpt.o evt.o lck.o msg.o
 	$(CC) $(LDFLAGS) -shared -Wl,-soname,libais.so.1,-version-script=libSaAis.versions util.o amf.o clm.o ckpt.o evt.o -o $@
 
-libevs.so.1.0: util.o evs.o
+libevs.so.1.0.0: util.o evs.o
 	$(CC) $(LDFLAGS) -shared -Wl,-soname,libevs.so.1,-version-script=libevs.versions util.o evs.o -o $@
 
-libcpg.so.1.0: util.o cpg.o
+libcpg.so.1.0.0: util.o cpg.o
 	$(CC) -shared -Wl,-soname,libcpg.so.1,-version-script=libcpg.versions util.o cpg.o -o $@
 
 endif