1# Makefile for pho
2
3VERSION = 1.0
4
5# Locate the gtk/gdk libraries (thanks to nev for this!)
6GTKFLAGS := $(shell pkg-config --cflags gtk+-2.0 gdk-2.0 2> /dev/null)
7CFLAGS += -Wall -pedantic -DVERSION='"$(VERSION)"' $(GTKFLAGS)
8
9XLIBS := $(shell pkg-config --libs gtk+-2.0 > /dev/null)
10GLIBS := $(shell pkg-config --libs gtk+-2.0 gdk-2.0)
11
12CWD = $(shell pwd)
13CWDBASE = $(shell basename `pwd`)
14
15INSTALL = /usr/bin/install -D
16
17INSTALLPREFIX = ${DESTDIR}/usr/local
18
19TARFILE = pho-$(VERSION).tar.gz
20
21EXIFLIB = exif/libphoexif.a -lm
22
23SRCS = pho.c gmain.c phoimglist.c gwin.c imagenote.c gdialogs.c keydialog.c
24
25# winman.c
26
27OBJS = $(subst .c,.o,$(SRCS))
28
29pho: $(EXIFLIB) $(OBJS)
30	$(CC) -o $@ $(OBJS) $(EXIFLIB) $(GLIBS) $(LDFLAGS) -lm
31
32cflags:
33	echo $(CFLAGS)
34
35all: pho
36
37$(EXIFLIB): exif/*.c
38	(cd exif && $(MAKE))
39
40tar: clean $(TARFILE)
41
42$(TARFILE):
43	( $(MAKE) clean && \
44	  cd .. && \
45	  tar czvf $(TARFILE) --exclude=.svn --exclude=.git --owner=root $(CWDBASE) && \
46	  mv $(TARFILE) $(CWD) && \
47	  echo Created $(TARFILE) \
48	)
49
50rpm: $(TARFILE)
51	cp $(TARFILE) /usr/src/redhat/SOURCES/$(TARFILE)
52	rpm -ba pho.spec
53	cp /usr/src/redhat/RPMS/i386/pho-$(VERSION)*.rpm .
54	cp /usr/src/redhat/SRPMS/pho-$(VERSION)*.rpm .
55
56deb: pho
57	dpkg-buildpackage -rfakeroot
58
59install: pho
60	install  -s -m 555 pho $(INSTALLPREFIX)/bin/pho
61	install  -m 444 doc/pho.1 $(INSTALLPREFIX)/man/man1/pho.1
62
63clean:
64	rm -f *.[oas] *.ld core* pho pho-*.tar.gz *.rpm *.tar.gz
65	rm -f build-stamp configure-stamp
66	rm -rf debian/pho
67	cd exif; $(MAKE) clean
68
69