xref: /freebsd/contrib/bsddialog/lib/GNUmakefile (revision 3e42d7194bdcd4fbfd781518258f919d6ac803d3)
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