]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/bsddialog/lib/Makefile
Merge llvm-project release/15.x llvmorg-15.0.0-rc2-40-gfbd2950d8d0d
[FreeBSD/FreeBSD.git] / contrib / bsddialog / lib / Makefile
1 # PUBLIC DOMAIN - NO WARRANTY, see:
2 #     <http://creativecommons.org/publicdomain/zero/1.0/>
3 #
4 # Written in 2021 by Alfonso Sabato Siciliano
5
6 VERSION = 0.4
7 LIBRARY = bsddialog
8 LIBRARY_SO = lib${LIBRARY:=.so}
9 LIBRARY_A = lib${LIBRARY:=.a}
10 HEADERS = bsddialog.h bsddialog_theme.h bsddialog_progressview.h
11 SOURCES = barbox.c calendarbox.c formbox.c infobox.c libbsddialog.c \
12         lib_util.c menubox.c messagebox.c textbox.c theme.c timebox.c
13 OBJECTS = ${SOURCES:.c=.o}
14 CFLAGS += -D_XOPEN_SOURCE_EXTENDED -fPIC -Wall -Wextra
15 LDFLAGS += -fstack-protector-strong -shared -Wl,-x -Wl,--fatal-warnings \
16         -Wl,--warn-shared-textrel -Wl,-soname,${LIBRARY_SO}.${VERSION} \
17         -L/usr/lib -lncursesw -ltinfow
18
19 .if defined(DEBUG)
20 # `make -DDEBUG`
21 CFLAGS = -g -D_XOPEN_SOURCE_EXTENDED -fPIC -Wall -Wextra
22 .else
23 CFLAGS += -std=gnu99 -fstack-protector-strong
24 .endif
25
26 LOCALBASE = /usr/local
27 LN = ln -s -f
28 RM = rm -f
29 CP = cp
30 GZIP = gzip -cn
31 LDCONFIG = /sbin/ldconfig -m
32 MAN = ${OUTPUT}.3
33 GZIP = gzip -cn
34 MANDIR = ${LOCALBASE}/share/man/man3
35 INSTALL = install
36 RM = rm -f
37
38 all : man ${LIBRARY}
39
40 ${LIBRARY}: ${LIBRARY_SO} ${LIBRARY_A}
41
42 ${LIBRARY_SO}.${VERSION}: ${OBJECTS}
43         ${CC} ${LDFLAGS} ${.ALLSRC} -o ${LIBRARY_SO}.${VERSION}
44
45 ${LIBRARY_SO}: ${LIBRARY_SO}.${VERSION}
46         ${LN} ${LIBRARY_SO}.${VERSION} ${LIBRARY_SO}
47
48 ${LIBRARY_A}: ${OBJECTS}
49         ${AR} cr ${.TARGET} ${OBJECTS}
50         ${RANLIB} ${.TARGET}
51
52 .c.o:
53         ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
54
55 man:
56         ${GZIP} ${LIBRARY}.3 > ${LIBRARY}.3.gz
57
58 clean:
59         ${RM} ${LIBRARY_SO}* *.o *~ *.gz ${LIBRARY_A}
60
61
62 install:
63         ${INSTALL} -m 644 ${HEADERS} ${LOCALBASE}/include
64         ${INSTALL} -m 644 -s ${LIBRARY_SO}.${VERSION} ${LOCALBASE}/lib/
65         ${INSTALL} -l rs ${LOCALBASE}/lib/${LIBRARY_SO}.${VERSION} ${LOCALBASE}/lib/${LIBRARY_SO}
66         ${INSTALL} -m 644 ${LIBRARY_A} ${LOCALBASE}/lib
67         ${LDCONFIG} ${LOCALBASE}/lib
68         ${INSTALL} -m 644 ${LIBRARY}.3.gz ${MANDIR}
69
70 unistall:
71         ${RM} ${LOCALBASE}/include/${LIBRARY}*.h
72         ${RM} ${LOCALBASE}/lib/${LIBRARY_SO}
73         ${RM} ${LOCALBASE}/lib/${LIBRARY_SO}.${VERSION}
74         ${LDCONFIG} ${LOCALBASE}/lib
75         ${RM} ${MANDIR}/${LIBRARY}.3.gz