xref: /freebsd/contrib/bsddialog/lib/Makefile (revision f2d966f6c13d93cccceb8e594a69d1a50471d314)
1263660c0SAlfonso Siciliano# PUBLIC DOMAIN - NO WARRANTY, see:
2c76f0793SBaptiste Daroussin#     <http://creativecommons.org/publicdomain/zero/1.0/>
3c76f0793SBaptiste Daroussin#
4f499134dSBaptiste Daroussin# Written in 2021 by Alfonso Sabato Siciliano
5c76f0793SBaptiste Daroussin
6c76f0793SBaptiste DaroussinLIBRARY = bsddialog
7c76f0793SBaptiste DaroussinLIBRARY_SO = lib${LIBRARY:=.so}
8263660c0SAlfonso SicilianoLIBRARY_A = lib${LIBRARY:=.a}
9d93b4d32SBaptiste DaroussinHEADERS = bsddialog.h bsddialog_theme.h bsddialog_progressview.h
1061ba55bcSBaptiste DaroussinSOURCES = barbox.c datebox.c formbox.c libbsddialog.c lib_util.c \
11*f2d966f6SAlfonso S. Siciliano	menubox.c messagebox.c slider.c textbox.c theme.c timebox.c
12c76f0793SBaptiste DaroussinOBJECTS = ${SOURCES:.c=.o}
133e42d719SAlfonso S. SicilianoPREFIX = /usr/local
1461ba55bcSBaptiste Daroussin
1561ba55bcSBaptiste Daroussin.if defined(DEBUG)
1661ba55bcSBaptiste DaroussinCFLAGS += -g
1761ba55bcSBaptiste Daroussin.endif
1861ba55bcSBaptiste DaroussinCFLAGS += -D_XOPEN_SOURCE_EXTENDED -fPIC -Wall -Wextra -std=gnu99 \
1961ba55bcSBaptiste Daroussin	-fstack-protector-strong
20263660c0SAlfonso SicilianoLDFLAGS += -fstack-protector-strong -shared -Wl,-x -Wl,--fatal-warnings \
21263660c0SAlfonso Siciliano	-Wl,--warn-shared-textrel -Wl,-soname,${LIBRARY_SO}.${VERSION} \
22b319d934SAlfonso S. Siciliano	-L/usr/lib -lncursesw -ltinfow
23c76f0793SBaptiste Daroussin
24c76f0793SBaptiste DaroussinLN = ln -s -f
25c76f0793SBaptiste DaroussinRM = rm -f
26c76f0793SBaptiste Daroussin
2761ba55bcSBaptiste Daroussinall: ${LIBRARY}
28c76f0793SBaptiste Daroussin
293e42d719SAlfonso S. Sicilianoinstall: all
303e42d719SAlfonso S. Siciliano	${INSTALL} -m 0644 bsddialog.h ${DESTDIR}${PREFIX}/include/bsddialog.h
313e42d719SAlfonso S. Siciliano	${INSTALL} -m 0644 bsddialog_progressview.h ${DESTDIR}${PREFIX}/include/bsddialog_progressview.h
323e42d719SAlfonso S. Siciliano	${INSTALL} -m 0644 bsddialog_theme.h ${DESTDIR}${PREFIX}/include/bsddialog_theme.h
333e42d719SAlfonso S. Siciliano	${INSTALL} -m 0644 ${LIBRARY_A} ${DESTDIR}${PREFIX}/lib/${LIBRARY_A}
343e42d719SAlfonso S. Siciliano	${INSTALL} -m 0755 ${LIBRARY_SO}.${VERSION} ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO}.${VERSION}
353e42d719SAlfonso S. Siciliano	${LN} ${LIBRARY_SO}.${VERSION} ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO}
363e42d719SAlfonso S. Siciliano
373e42d719SAlfonso S. Sicilianouninstall:
383e42d719SAlfonso S. Siciliano	${RM} ${DESTDIR}${PREFIX}/include/bsddialog.h
393e42d719SAlfonso S. Siciliano	${RM} ${DESTDIR}${PREFIX}/include/bsddialog_progressview.h
403e42d719SAlfonso S. Siciliano	${RM} ${DESTDIR}${PREFIX}/include/bsddialog_theme.h
413e42d719SAlfonso S. Siciliano	${RM} ${DESTDIR}${PREFIX}/lib/${LIBRARY_A}
423e42d719SAlfonso S. Siciliano	${RM} ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO}.${VERSION}
433e42d719SAlfonso S. Siciliano	${RM} ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO}
443e42d719SAlfonso S. Siciliano
45263660c0SAlfonso Siciliano${LIBRARY}: ${LIBRARY_SO} ${LIBRARY_A}
46263660c0SAlfonso Siciliano
47263660c0SAlfonso Siciliano${LIBRARY_SO}.${VERSION}: ${OBJECTS}
48c76f0793SBaptiste Daroussin	${CC} ${LDFLAGS} ${.ALLSRC} -o ${LIBRARY_SO}.${VERSION}
49263660c0SAlfonso Siciliano
50263660c0SAlfonso Siciliano${LIBRARY_SO}: ${LIBRARY_SO}.${VERSION}
51c76f0793SBaptiste Daroussin	${LN} ${LIBRARY_SO}.${VERSION} ${LIBRARY_SO}
52c76f0793SBaptiste Daroussin
53263660c0SAlfonso Siciliano${LIBRARY_A}: ${OBJECTS}
54263660c0SAlfonso Siciliano	${AR} cr ${.TARGET} ${OBJECTS}
55263660c0SAlfonso Siciliano	${RANLIB} ${.TARGET}
56263660c0SAlfonso Siciliano
57c76f0793SBaptiste Daroussin.c.o:
58c76f0793SBaptiste Daroussin	${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
59c76f0793SBaptiste Daroussin
60c76f0793SBaptiste Daroussinclean:
61263660c0SAlfonso Siciliano	${RM} ${LIBRARY_SO}* *.o *~ *.gz ${LIBRARY_A}
623e42d719SAlfonso S. Siciliano
633e42d719SAlfonso S. Siciliano.PHONY: all install uninstall ${LIBRARY} clean
64