#
# Makefile for dlume2
#
# Bob Eager   June 2017
#
CC?=		clang
#
PRODUCT=	dlume
#
SRC=		about.c actions.c add_edit.c data.c delete.c export.c \
		gui.c main.c options.c prefs.c
HDR=		about.h actions.h add_edit.h data.h delete.h export.h \
		gui.h icon.h icons.h license.h logo.h options.h prefs.h \
		version.h
OBJ =		$(SRC:.c=.o)
#
DESKTOP=	$(PRODUCT).desktop
ICON=		$(PRODUCT).png
MANSRC=		$(PRODUCT).1
MAN=		$(PRODUCT).1.gz
#
MISC=		COPYING distname
OLD=		old/*
PORTEDITS=	's,/usr/local,%%PREFIX%%,g'
#
DISTNAME!=	./distname $(PRODUCT)2
ARCH=		$(DISTNAME)-arch.zip
#
# Install destinations
#
INSTALL_BIN=	/usr/local/bin
INSTALL_DT=	/usr/local/share/applications
INSTALL_ICON=	/usr/local/share/pixmaps
INSTALL_MAN=	/usr/local/man/man1
#
# Compiler and loader flags
#
COMFLAGS	= -Wall
CFLAGS+=	-O2 $(COMFLAGS)
CFLAGS+=	-I/usr/local/include/gtk-2.0 \
		-I/usr/local/include/glib-2.0 \
		-I/usr/local/lib/glib-2.0/include \
		-I/usr/local/include/cairo \
		-I/usr/local/include/pango-1.0 \
		-I/usr/local/include/gdk-pixbuf-2.0 \
		-I/usr/local/include/atk-1.0 \
		-I/usr/local/include/libxml2
LDFLAGS+=	-L/usr/local/lib \
		-lgtk-x11-2.0 \
		-lgdk-x11-2.0 \
		-lpangocairo-1.0 \
		-latk-1.0 \
		-lcairo \
		-lgdk_pixbuf-2.0 \
		-lgio-2.0 \
		-lpangoft2-1.0 \
		-lpango-1.0 \
		-lgobject-2.0 \
		-lglib-2.0 \
		-lfontconfig \
		-lxml2
#
#-----------------------------------------------------------------------------
#
all:		$(PRODUCT) $(MAN)
#
$(PRODUCT):	$(OBJ)
		$(CC) $(LDFLAGS) -o $(PRODUCT) $(OBJ) 
		@strip $(PRODUCT)
#
$(MAN):		$(MANSRC)
		@rm -f $(MAN)
		gzip < $(MANSRC) > $(MAN)
#
depend:
		@mkdep $(CFLAGS) $(SRC)
#
install:	all
		install -s -g wheel -o root $(PRODUCT) $(INSTALL_BIN)
		install -g wheel -o root -m 0644 $(DESKTOP) $(INSTALL_DT)
		install -g wheel -o root -m 0644 $(ICON) $(INSTALL_ICON)
		install -g wheel -o root -m 0644 $(MAN) $(INSTALL_MAN)
#
distfile:
		@mkdir -p $(DISTNAME)
		@cp -a $(SRC) $(HDR) $(DISTNAME)
		@cp -a $(DESKTOP) $(ICON) $(MANSRC) Makefile $(DISTNAME)
		@cp -a $(MISC) $(DISTNAME)
		@rm -f $(DISTNAME).zip
		tar cfz $(DISTNAME).tar.gz $(DISTNAME)
		@rm -rf $(DISTNAME)
#
clean:
		@rm -f $(OBJ) $(MAN) core
#
clean-all:
		@rm -rf $(OBJ) $(MAN) core $(PRODUCT)
#
arch:		$(PRODUCT) $(MISC) $(SRC) $(HDR) $(MISC) $(DESKTOP) \
			$(ICON) $(MANSRC) Makefile $(OLD)
		@rm -f $(ARCH)
		zip -9 -r $(ARCH) $?
#
# End of makefile for dlume
#
