1# PUBLIC DOMAIN - NO WARRANTY, see: 2# <http://creativecommons.org/publicdomain/zero/1.0/> 3# 4# Written in 2021 by Alfonso Sabato Siciliano 5 6LIBRARY = bsddialog 7LIBRARY_SO = lib${LIBRARY:=.so} 8HEADERS = bsddialog.h bsddialog_theme.h bsddialog_progressview.h 9SOURCES = barbox.c datebox.c formbox.c libbsddialog.c lib_util.c \ 10 menubox.c messagebox.c textbox.c theme.c timebox.c 11OBJECTS = $(SOURCES:.c=.o) 12PREFIX = /usr/local 13 14ifneq ($(ENABLEDEBUG),) 15CFLAGS += -g 16endif 17CFLAGS += -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE -D_GNU_SOURCE \ 18 -Wall -Wextra -Werror -fpic 19LDFLAGS += -lncursesw -ltinfo 20LIBFLAG = -shared 21 22RM = rm -f 23LN = ln -s -f 24 25all: $(LIBRARY) 26 27install: all 28 ${INSTALL} -m 0644 bsddialog.h ${DESTDIR}${PREFIX}/include/bsddialog.h 29 ${INSTALL} -m 0644 bsddialog_progressview.h ${DESTDIR}${PREFIX}/include/bsddialog_progressview.h 30 ${INSTALL} -m 0644 bsddialog_theme.h ${DESTDIR}${PREFIX}/include/bsddialog_theme.h 31 ${INSTALL} -m 0755 ${LIBRARY_SO}.${VERSION} ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO}.${VERSION} 32 ${LN} ${LIBRARY_SO}.${VERSION} ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO} 33 34uninstall: 35 ${RM} ${DESTDIR}${PREFIX}/include/bsddialog.h 36 ${RM} ${DESTDIR}${PREFIX}/include/bsddialog_progressview.h 37 ${RM} ${DESTDIR}${PREFIX}/include/bsddialog_theme.h 38 ${RM} ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO}.${VERSION} 39 ${RM} ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO} 40 41$(LIBRARY): $(OBJECTS) 42 $(CC) $(LIBFLAG) $^ -o $(LIBRARY_SO).$(VERSION) $(LDFLAGS) 43 ${LN} ${LIBRARY_SO}.${VERSION} ${LIBRARY_SO} 44 45%.o: %.c $(HEADERS) 46 $(CC) $(CFLAGS) -c $< 47 48clean: 49 $(RM) $(LIBRARY_SO)* *.o *~ 50 51.PHONY: all install uninstall ${LIBRARY} clean 52