# $Id: PTMakefile,v 1.11 2000/07/27 11:17:58 carlo Exp $
#
# ProtoType Library Makefile
#
# Copyright (C) 1999-2000, by
#
# Carlo Wood, Run on IRC <carlo@alinoe.com>
# RSA-1024 0x624ACAD5 1997-01-26 Sign & Encrypt
# Fingerprint16 = 32 EC A7 B6 AC DB 65 A6 F6 F6 55 DD 1C DC FF 61
#
# All rights reserved.
#
# See the file LICENSE for copyright information.
#
# This file may be distributed under the terms of the Q Public License 1.0
# as defined by Troll Tech AS of Norway and appearing in the file LICENSE.QPL
# included in the packaging of this file.
#
#-----------------------------------------------------------------------------
#
# Edit $PROTODIR/Makedefs.h to get it working for your system
#
ifeq (.$(LIB).version,$(wildcard .$(LIB).version))
include .$(LIB).version
VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)
endif
GETSUBOBJS="yes"
include $(PROTODIR)/common/PTMakefile
.PHONY: .subdirs static shared
%.o: %.c $(PROTODIR)/Makedefs.h
$(CC) $(CFLAGS) -fpic $(IFLAGS) $(SYSTEMINCLUDEFLAGS) -c $< -o $@
%.o: %$(CPPEXT) $(PROTODIR)/Makedefs.h
$(CXX) $(CXXFLAGS) -fpic $(IFLAGS) $(SYSTEMINCLUDEFLAGS) -c $< -o $@
.subdirs:
@list='$(SUBDIRS)'; for i in $$list; \
do $(MAKE) -C $$i "CFLAGS=$(CFLAGS) -fpic" "CXXFLAGS=$(CXXFLAGS) -fpic" build || exit; \
done
build:: shared
ifeq (.$(LIB).version,$(wildcard .$(LIB).version))
shared: .depend-timestamp $(OBJS) .subdirs $(BASEDIR)/lib/lib$(LIB).so
static: .depend-timestamp $(OBJS) .subdirs $(BASEDIR)/lib/lib$(LIB).a
else
shared: .depend-timestamp $(OBJS) .subdirs
static: .depend-timestamp $(OBJS) .subdirs
endif
$(SUBOBJS):
$(MAKE) .subdirs
$(BASEDIR)/lib/lib$(LIB).a: $(OBJS) $(EXTRA_OBJS) $(SUBOBJS)
$(AR) -cru lib$(LIB).a $(OBJS) $(EXTRA_OBJS) $(SUBOBJS)
$(RANLIB) lib$(LIB).a
$(INSTALL) -d $(BASEDIR)/lib
$(MV) lib$(LIB).a $(BASEDIR)/lib
$(BASEDIR)/lib/lib$(LIB).so: $(OBJS) .$(LIB).version $(EXTRA_OBJS) $(SUBOBJS)
ifneq ($(CXXSRC),)
$(CXX) $(LDFLAGS) -shared -Wl,-soname,lib$(LIB).so.$(VERSION_MAJOR) -o lib$(LIB).so.$(VERSION) -fpic $(OBJS) $(EXTRA_OBJS) $(SUBOBJS) $(STATICLIBS) $(LIBFLAGS) $(SHAREDLIBS)
else
$(CC) $(LDFLAGS) -shared -Wl,-soname,lib$(LIB).so.$(VERSION_MAJOR) -o lib$(LIB).so.$(VERSION) -fpic $(OBJS) $(EXTRA_OBJS) $(SUBOBJS) $(STATICLIBS) $(LIBFLAGS) $(SHAREDLIBS)
endif
$(INSTALL) -d $(BASEDIR)/lib
$(RM) -f $(BASEDIR)/lib/lib$(LIB).so*
$(MV) lib$(LIB).so.$(VERSION) $(BASEDIR)/lib
( cd $(BASEDIR)/lib; \
ln -s lib$(LIB).so.$(VERSION) lib$(LIB).so.$(VERSION_MAJOR); \
ln -s lib$(LIB).so.$(VERSION_MAJOR) lib$(LIB).so )
syntax highlighted by Code2HTML, v. 0.9.1