1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
#
# $Id: Makefile,v 1.17 2000/08/23 22:03:41 cbond Exp $
#
# This is the ``main'' Makefile for libarr. It's responsible for compiling
# and installing it correctly. Refer to ../Makefile.incl, as well.
#
include ../Makefile.incl
TREE = ..
#
# Normally, we want to install to either /usr or /usr/local. It's a good idea
# to define that when installing: ``make install DESTDIR=/usr/local''.
DESTDIR ?= /usr
#
# We try to make sure ARR_MAJOR and ARR_MINOR are defined on both GNU and BSD
# make(1) programs.
ARR_MAJOR != grep ARR_MAJOR ../include/arr.h | cut -d" " -f3
ARR_MAJOR ?= ${shell grep ARR_MAJOR ../include/arr.h | cut -d" " -f3}
ARR_MINOR != grep ARR_MINOR ../include/arr.h | cut -d" " -f3
ARR_MINOR ?= ${shell grep ARR_MINOR ../include/arr.h | cut -d" " -f3}
LDFLAGS += ${SHARED}
SOURCES = print.c init.c term_iface.c acs_default.c ktree.c tinfo.c input.c \
iface.c printf.c tt_sprintf.c
OBJECTS := ${SOURCES:%.c=%.o}
L_OBJECTS := ${SOURCES:%.c=%.lo}
SOTARGET := libarr.so.${ARR_MAJOR}.${ARR_MINOR}
OUTPUT := ${SOTARGET} libarr.a libarr_pic.a
all build: ${OUTPUT}
libarr.a: ${OBJECTS}
rm -f $@
${AR} ${ARFLAGS} $@ ${OBJECTS}
libarr_pic.a: ${OBJECTS}
${AR} ${ARFLAGS} $@ ${L_OBJECTS}
${SOTARGET}: ${OBJECTS}
${CC} ${LDFLAGS} -Wl,-soname=libarr.so.${ARR_MAJOR} ${L_OBJECTS} -o $@
.c.o: ${@:%.o=%.c}
${CC} ${CFLAGS} -c $< -o $@
${CC} ${CFLAGS} -DPIC -fPIC -c $< -o ${@:%.o=%.lo}
clean:
rm -f ${SOURCES:%.c=%.o} ${SOURCES:%.c=%.lo} ${OUTPUT}
install: ${OUTPUT} install_lib install_hdr
install_lib: ${OUTPUT}
install -d ${DESTDIR}/lib
install -c -m 644 -o ${USER} ${OUTPUT} ${DESTDIR}/lib
install_hdr: ${OUTPUT} ../include/arr.h
install -d ${DESTDIR}/include
install -c -m 644 -o ${USER} ../include/arr.h ${DESTDIR}/include
install -c -m 644 -o ${USER} ../include/arr_curses.h ${DESTDIR}/include
depend:
${SED} -n '1,/^# make depend depends on this line.$$/p' <Makefile >.work
${MV} .work Makefile
${CC} ${CFLAGS} -MM -E ${SOURCES} >>Makefile
# make depend depends on this line.
print.o: print.c ../include/arr.h ../include/term_iface.h \
../include/tt_sprintf.h ../include/types.h ../include/misc.h \
../include/tinfo.h ../include/cap_offset.h
init.o: init.c ../include/arr.h ../include/misc.h \
../include/term_iface.h ../include/tt_sprintf.h ../include/input.h \
../include/types.h ../include/ktree.h ../include/tinfo.h \
../include/cap_offset.h
term_iface.o: term_iface.c ../include/term_iface.h ../include/arr.h \
../include/tt_sprintf.h ../include/input.h ../include/tinfo.h \
../include/types.h ../include/misc.h ../include/cap_offset.h
acs_default.o: acs_default.c
ktree.o: ktree.c ../include/ktree.h ../include/arr.h \
../include/tinfo.h ../include/types.h ../include/cap_offset.h
tinfo.o: tinfo.c ../include/tinfo.h ../include/types.h \
../include/printf.h ../include/arr.h ../include/cap_offset.h \
../include/tt_sprintf.h
input.o: input.c ../include/arr.h ../include/types.h \
../include/ktree.h
iface.o: iface.c ../include/arr.h ../include/misc.h
printf.o: printf.c ../include/printf.h ../include/types.h
tt_sprintf.o: tt_sprintf.c ../include/types.h
|