# lamechat - curses chat program # See COPYING file for license details. -include config.mk # Settings VERSION ?= 0.1-rc1 PREFIX ?= /usr/local MANPREFIX ?= $(PREFIX)/share/man # Features CRYPTO ?= GNUTLS # Compiler GCC ?= gcc CFLAGS ?= -Wall --std=c99 LDFLAGS ?= -lncursesw -lexpat # Sources PROG ?= lamechat SOURCES ?= main util args conf view chat net irc xmpp # OpenSSL ifeq ($(CRYPTO),OPENSSL) net.o: \ CFLAGS += -DUSE_OPENSSL LDFLAGS += -lcrypto -lssl endif # GnuTLS ifeq ($(CRYPTO),GNUTLS) net.o: \ CFLAGS += -DUSE_GNUTLS LDFLAGS += -lgnutls endif # Targets all: $(PROG) clean: rm -f *.o $(PROG) dist: tar -czf $(PROG)-$(VERSION).tar.gz --transform s::$(PROG)-$(VERSION)/: \ README COPYING config.mk.example makefile */*.txt */*.1 */*.c */*.h install: all install -m 755 -D $(PROG) $(DESTDIR)$(PREFIX)/bin/$(PROG) install -m 644 -D doc/$(PROG).1 $(DESTDIR)$(MANPREFIX)/man1/$(PROG).1 uninstall: rm -f $(DESTDIR)$(PREFIX)/bin/$(PROG) rm -f $(DESTDIR)$(MANPREFIX)/man1/$(PROG).1 memcheck: $(PROG) valgrind --log-file=valgrind.out \ --track-origins=yes \ --leak-check=full \ --leak-resolution=high \ ./$(PROG) # Rules $(PROG): $(SOURCES:%=%.o) $(GCC) -o $@ $+ $(LDFLAGS) %.o: %.c $(wildcard *.h makefile config.mk) $(GCC) $(CFLAGS) -c -o $@ $< .PHONY: all clean dist install uninstall