79 lines
1.5 KiB
Makefile
79 lines
1.5 KiB
Makefile
#
|
|
# Makefile
|
|
prefix=/usr/local
|
|
exec_prefix=${prefix}
|
|
|
|
CCX=gcc
|
|
INCLUDES=-I/usr/include -I../lib -I../ -I/usr/local/ActiveTcl/include/
|
|
CCXFLAGS=${INCLUDES} -fPIC
|
|
LIBS=-L/usr/local/lib -L/usr/lib -lm -ltcl8.4 -ltk8.4 -ldl -L/usr/X11R6/lib/X11
|
|
|
|
RANLIB=ranlib
|
|
AR=ar
|
|
|
|
INSTALL=/usr/bin/install -c
|
|
INSTALL_DATA=${INSTALL} -m 644
|
|
|
|
RM = rm -f
|
|
LNK = ln -sf
|
|
|
|
lib_dir=${prefix}/lib
|
|
|
|
lib_version=0.0.1
|
|
|
|
lib_name=tctcl
|
|
|
|
STATIC_LIB=lib${lib_name}.a
|
|
SHARED_LIB=lib${lib_name}.so.${lib_version}
|
|
|
|
SRC = tctcl.c
|
|
|
|
OBJS = $(SRC:.c=.o)
|
|
OBJD = $(SRC:.c=.lo)
|
|
|
|
#
|
|
# Rules for compiling .c .s sources
|
|
#
|
|
.SUFFIX: .c .o .lo
|
|
.c.o:
|
|
$(CCX) $(CCXFLAGS) -c $<
|
|
|
|
%.lo: %.c
|
|
$(CCX) $(CCXFLAGS) -c $< -o $@
|
|
|
|
|
|
#all: static-libs shared-libs
|
|
all: shared-libs
|
|
devel: static-libs
|
|
|
|
static-libs: ${STATIC_LIB}
|
|
|
|
shared-libs: ${SHARED_LIB}
|
|
|
|
# Rules for building the static library
|
|
#
|
|
${STATIC_LIB}: ${OBJS}
|
|
${AR} cr ${STATIC_LIB} ${OBJS}
|
|
${RANLIB} ${STATIC_LIB}
|
|
|
|
# Rules for building the shared library
|
|
#
|
|
${SHARED_LIB}: ${OBJD}
|
|
${CCX} -shared -Wl,-soname,lib${lib_name}.so.0 -o ${SHARED_LIB} $(OBJD) ${LIBS}
|
|
${LNK} $(SHARED_LIB) lib$(lib_name).so.0
|
|
${LNK} $(SHARED_LIB) lib$(lib_name).so
|
|
|
|
clean:
|
|
@${RM} ${OBJS} ${OBJD} ${STATIC_LIB} ${SHARED_LIB} lib$(lib_name).so* \
|
|
*.a core *.bak *.o *.lo
|
|
|
|
install: install-shared
|
|
|
|
install-static: ${STATIC_LIB}
|
|
${INSTALL_DATA} ${STATIC_LIB} ${lib_dir}/${STATIC_LIB}
|
|
|
|
install-shared: ${SHARED_LIB}
|
|
${INSTALL_DATA} ${SHARED_LIB} ${lib_dir}/${SHARED_LIB}
|
|
${LNK} ${lib_dir}/$(SHARED_LIB) ${lib_dir}/lib$(lib_name).so
|
|
${LNK} ${lib_dir}/$(SHARED_LIB) ${lib_dir}/lib$(lib_name).so.0
|