File: Makefile

package info (click to toggle)
libarr 0.1-52
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 368 kB
  • ctags: 400
  • sloc: ansic: 2,108; makefile: 139; sh: 13
file content (85 lines) | stat: -rw-r--r-- 3,125 bytes parent folder | download | duplicates (2)
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