6ad0647ca3a83220bafa3c8024b6138af58e0fd8
[tools/isomd5sum.git] / Makefile
1 PYVER  := $(shell python -c 'import sys; print sys.version[0:3]')
2 PYTHON = python$(PYVER)
3 PYTHONINCLUDE = /usr/include/$(PYTHON)
4
5 VERSION=1.0.7
6
7 ifneq (,$(filter sparc64 ppc64 x86_64 s390x,$(shell uname -m)))
8 LIBDIR = lib64
9 else
10 LIBDIR = lib
11 endif
12
13 CFLAGS = $(RPM_OPT_FLAGS) -Wall -Werror -D_GNU_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -fPIC -I$(PYTHONINCLUDE)
14
15 OBJECTS = md5.o libimplantisomd5.o checkisomd5.o implantisomd5
16 SOURCES = $(patsubst %.o,%.c,$(OBJECTS))
17 LDFLAGS += -fPIC
18
19 PYOBJS = pyisomd5sum.o libcheckisomd5.a libimplantisomd5.a
20
21 all: implantisomd5 checkisomd5 pyisomd5sum.so libimplantisomd5.a libcheckisomd5.a
22
23 %.o: %.c
24         $(CC) -c -O $(CFLAGS) -o $@ $<
25
26 implantisomd5: implantisomd5.o libimplantisomd5.a
27         $(CC) $(CFLAGS) implantisomd5.o libimplantisomd5.a -o implantisomd5 -lpopt
28
29 checkisomd5: checkisomd5.o libcheckisomd5.a
30         $(CC) $(CFLAGS) checkisomd5.o libcheckisomd5.a -o checkisomd5 -lpopt
31
32 libimplantisomd5.a: libimplantisomd5.a(libimplantisomd5.o md5.o)
33
34 libcheckisomd5.a: libcheckisomd5.a(libcheckisomd5.o md5.o)
35
36 pyisomd5sum.so: $(PYOBJS)
37         $(CC) -shared -g -o pyisomd5sum.so -fpic $(PYOBJS) $(LDFLAGS)
38
39 install: all install-bin install-python install-devel
40
41 install-bin:
42         install -d -m 0755 $(DESTDIR)/usr/bin
43         install -d -m 0755 $(DESTDIR)/usr/share/man/man1
44         install -m 0755 implantisomd5 $(DESTDIR)/usr/bin
45         install -m 0755 checkisomd5 $(DESTDIR)/usr/bin
46         install -m 0644 implantisomd5.1 $(DESTDIR)/usr/share/man/man1
47         install -m 0644 checkisomd5.1 $(DESTDIR)/usr/share/man/man1
48
49 install-python:
50         install -d -m 0755 $(DESTDIR)/usr/$(LIBDIR)/$(PYTHON)/site-packages
51         install -m 0755 pyisomd5sum.so $(DESTDIR)/usr/$(LIBDIR)/$(PYTHON)/site-packages
52
53 install-devel:
54         install -d -m 0755 $(DESTDIR)/usr/include
55         install -d -m 0755 $(DESTDIR)/usr/$(LIBDIR)
56         install -m 0644 libimplantisomd5.h $(DESTDIR)/usr/include/
57         install -m 0644 libcheckisomd5.h $(DESTDIR)/usr/include/
58         install -m 0644 libimplantisomd5.a $(DESTDIR)/usr/$(LIBDIR)
59         install -m 0644 libcheckisomd5.a $(DESTDIR)/usr/$(LIBDIR)
60
61 clean:
62         rm -f *.o *.so *.pyc *.a .depend *~
63         rm -f implantisomd5 checkisomd5 
64
65 tag:
66         @git tag -a -m "Tag as $(VERSION)" -f $(VERSION)
67         @echo "Tagged as $(VERSION)"
68
69 archive:
70         @git archive --format=tar --prefix=isomd5sum-$(VERSION)/ HEAD |bzip2 > isomd5sum-$(VERSION).tar.bz2
71         @echo "The final archive is in isomd5sum-$(VERSION).tar.bz2"