################################################################################ # Makefile for BString class # T.Barnaby, BEAM Ltd, 19/6/91 # updated by D.Korchagin, CERN AB-BI-SW, 2007-08-31 ################################################################################ # TOP = ../.. include ${TOP}/Makefile.config VERSION_H = $(shell echo ${VERSION} | awk 'BEGIN { FS="."}{ print $$1; }') VERSION_M = $(shell echo ${VERSION} | awk 'BEGIN { FS="."}{ print $$2; }') VERSION_L = $(shell echo ${VERSION} | awk 'BEGIN { FS="."}{ print $$3; }') DEBUGFLAGS = -g -O2 -DDEBUG LDLIBS = -lmysqlclient -lcurl -lpthread OBJS = BRefData.o BString.o BError.o BFile.o BConfig.o BTime.o OBJS += BCond.o BCondInt.o BMutex.o BSema.o BSemaphore.o BRWLock.o OBJS += BDate.o BTimeStamp.o BTimeStampMs.o OBJS += BObj.o OBJS += BObjStringFormat.o ifeq ("${BEAMLIB_BUILD}", "LINUX") OBJS += BEndian.o BBuffer.o BEntry.o BDir.o OBJS += BThread.o OBJS += BRtc.o BTimer.o BPoll.o BSocket.o BEvent.o OBJS += Boap.o BoapnsD.o BoapnsC.o OBJS += BFifoCirc.o OBJS += BDuration.o OBJS += BDebug.o BDict.o BTable.o OBJS += BErrorTime.o OBJS += BoapMc.o BComms.o OBJS += BFileData.o BFileCsv.o OBJS += BCrc16.o OBJS += BEvent1.o ifneq ("$(DIST)", "el5") OBJS += BSpi.o endif endif ifeq ("${BEAMLIB_BUILD}", "FULL") OBJS += BEndian.o BBuffer.o BEntry.o BDir.o OBJS += BThread.o OBJS += BRtc.o BTimer.o BPoll.o BSocket.o BEvent.o OBJS += Boap.o BoapnsD.o BoapnsC.o OBJS += BFifoCirc.o OBJS += BDuration.o OBJS += BDebug.o BDict.o BTable.o OBJS += BErrorTime.o OBJS += BoapMc.o BComms.o OBJS += BFileData.o BFileCsv.o OBJS += BCrc16.o OBJS += BEvent1.o OBJS += BUrl.o OBJS += BMysql.o ifneq ("$(DIST)", "el5") OBJS += BSpi.o endif endif OBJS := $(addprefix ${BUILDDIR},${OBJS}) LIB = ${BUILDDIR}libBeam.a LIBSO = ${BUILDDIR}libBeam.so # General ifeq ("${BEAMLIB_BUILD_SHAREDLIBS}", "YES") all: includes ${LIB} ${LIBSO} install_src_static install_src_shared install: all install_includes install_static install_shared else all: includes ${LIB} install_src_static install: all install_includes install_static endif info: @echo "Build: ${BUILD}" @echo "Target: ${TARGET}" @echo "Dist: ${DIST}" includes: -mkdir -p $(SRCINCDIR)/Beam cp $(CPFLAGS) *.h *.inc $(SRCINCDIR)/Beam install_src_shared: -mkdir -p $(SRCLIBDIR) cp -a $(CPFLAGS) ${LIB} $(SRCLIBDIR) cp -a $(CPFLAGS) ${LIBSO}* $(SRCLIBDIR) install_src_static: -mkdir -p $(SRCLIBDIR) cp -a $(CPFLAGS) ${LIB} $(SRCLIBDIR) install_includes: -mkdir -p $(INCDIR)/Beam cp *.h *.inc $(INCDIR)/Beam install_shared: mkdir -p $(LIBDIR) cp -a $(CPFLAGS) ${LIBSO}* $(LIBDIR) install_static: mkdir -p $(LIBDIR) cp -a $(CPFLAGS) ${LIB} $(LIBDIR) clean: rm -f ${OBJS} $(OBJS:.o=.d) $(LIB) ${LIBSO}* update: cp $(CPFLAGS) ../boapns/BoapnsC.h . cp $(CPFLAGS) ../boapns/BoapnsD.h . cp $(CPFLAGS) ../boapns/BoapnsC.cc BoapnsC.cpp cp $(CPFLAGS) ../boapns/BoapnsD.cc BoapnsD.cpp ${LIB}: $(OBJS) rm -f ${LIB} ar cq ${LIB} $(OBJS) $(RANLIB) ${LIB} ${LIBSO}: $(OBJS) rm -f ${LIBSO}* $(LINK.cc) -shared -Wl,-soname,libBeam.so.$(VERSION_H) -o ${LIBSO}.$(VERSION_H).$(VERSION_M).$(VERSION_L) $(OBJS) $(LDFLAGS) $(LDLIBS) ln -sf libBeam.so.$(VERSION_H).$(VERSION_M).$(VERSION_L) ${LIBSO}.$(VERSION_H) ln -sf libBeam.so.$(VERSION_H) ${LIBSO} # Depenancies -include $(OBJS:.o=.d)