# -*-mode: Makefile;-*- ;; Have EMACS always use makefile-mode for this file. # # makefile.lib # # Don't change anything below this line! ############################################################################### # Do not assign anything to this variable _DOT_DOT= ifeq "${_CURR_DIR}" "" _CURR_DIR=. endif PROJECT_NAME:= $(notdir $(shell cd ..;pwd)) include makeVar _TARGET_NAME_LIB=${TARGET_PREFIX}lib${TARGET_LIB}${TARGET_POSTFIX} _TARGET_FULL_VER=${TARGET_MAJVERSION}.${TARGET_MINVERSION} _TARGET_VER=${TARGET_MAJVERSION} TARGET_SO_LIB=${_TARGET_NAME_LIB}.so.${_TARGET_FULL_VER} TARGET_AR_LIB=${_TARGET_NAME_LIB}.${_TARGET_FULL_VER}.a #----------------------------------------------- # Rule: all & cleanall & clean & printtype #----------------------------------------------- all: lib cleanall: cleanlib clean: cleanall printtype: ${PRE_CMD}${CMD_ECHO} "Type: MakeLibrary" #----------------------------------------------- # Rule: lib & cleanlib #----------------------------------------------- lib: ${MAKE_PRECOND} ${TARGET_SO_LIB} ${MAKE_POSTCOND} ${PRE_CMD}${CMD_FINAL} ${TARGET_SO_LIB}: ${TARGET_AR_LIB} ${PRE_CMD}${CMD_ECHO} "Building shared library from: ${_CURR_DIR}/$@" ${PRE_CMD}${CMD_LD} ${LDDYNFLAGS} -o $@ \ ${REL_OBJECTS} ${ABS_OBJECTS} ${REL_LIBRARIES} ${ABS_LIBRARIES} ${PRE_CMD}${CMD_LN} $@ ${_TARGET_NAME_LIB}.so.${_TARGET_VER} ${PRE_CMD}${CMD_LN} $@ ${_TARGET_NAME_LIB}.so ${TARGET_AR_LIB}: ${REL_OBJECTS} ${ABS_OBJECTS} ${PRE_CMD}${CMD_ECHO} "Building arc library from: ${_CURR_DIR}/$@" ${PRE_CMD}${CMD_AR} ${ARFLAGS} $@ ${REL_OBJECTS} ${ABS_OBJECTS} ${PRE_CMD}${CMD_RANLIB} $@ ${PRE_CMD}${CMD_LN} $@ ${_TARGET_NAME_LIB}.${_TARGET_VER}.a ${PRE_CMD}${CMD_LN} $@ ${_TARGET_NAME_LIB}.a ${PRE_CMD}${CMD_FINAL} ${REL_OBJECTS} ${ABS_OBJECTS}: ${PRE_CMD}${CMD_ECHO} "Error: recompile first the objects not expanded: ${_CURR_DIR}" ${PRE_CMD}${CMD_ECHO} ${REL_OBJECTS} ${ABS_OBJECTS} ${PRE_CMD}${CMD_EXIT_FAIL} cleanlib: _cleanlib_First ${MORE_CLEAN} _cleanlib_First: ${PRE_CMD}${CMD_ECHO} "Cleaning library from: ${_CURR_DIR}" ${PRE_CMD}${CMD_RM} ${_TARGET_NAME_LIB}.* ${PRE_CMD}${CMD_RM} *~ *.bak #----------------------------------------------- # Rule: % (default rule) # Note: This rule must be the last one! #----------------------------------------------- %: ;