2
# Copyright (c) 2010 Mark Heily <mark@heily.com>
4
# Permission to use, copy, modify, and distribute this software for any
5
# purpose with or without fee is hereby granted, provided that the above
6
# copyright notice and this permission notice appear in all copies.
8
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
.PHONY :: install uninstall check dist dist-upload publish-www clean merge distclean fresh-build rpm edit cscope valgrind
24
$(LD) -o $@ $(LDFLAGS) $(OBJS) $(LDADD)
27
$(CC) -c -o $@ $(CFLAGS) $<
30
$(AR) rcs $(PROGRAM).a $(OBJS)
32
$(PROGRAM).so: $(OBJS)
33
$(LD) -shared $(LDFLAGS) $(OBJS) $(LDADD)
34
$(LN) -sf $(PROGRAM).so.$(ABI_VERSION) $(PROGRAM).so
35
$(LN) -sf $(PROGRAM).so.$(ABI_VERSION) $(PROGRAM).so.$(ABI_MAJOR)
37
install: $(PROGRAM).so
38
$(INSTALL) -d -m 755 $(DESTDIR)$(INCLUDEDIR)
39
$(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)
40
$(INSTALL) -m 644 $(HEADERS) $(DESTDIR)$(INCLUDEDIR)
41
$(INSTALL) -m 644 $(PROGRAM).so.$(ABI_VERSION) $(DESTDIR)$(LIBDIR)
42
$(LN) -sf $(PROGRAM).so.$(ABI_VERSION) $(DESTDIR)$(LIBDIR)/$(PROGRAM).so.$(ABI_MAJOR)
43
$(LN) -sf $(PROGRAM).so.$(ABI_VERSION) $(DESTDIR)$(LIBDIR)/$(PROGRAM).so
44
$(INSTALL) -d -m 755 $(DESTDIR)$(MANDIR)/man3
45
$(INSTALL) -m 644 pthread_workqueue.3 $(DESTDIR)$(MANDIR)/man3/pthread_workqueue.3
48
rm -f $(INCLUDEDIR)/pthread_workqueue.h
49
rm -f $(LIBDIR)/pthread_workqueue.so
50
rm -f $(LIBDIR)/pthread_workqueue.so.*
51
rm -f $(LIBDIR)/pthread_workqueue.a
52
rm -f $(MANDIR)/man3/pthread_workqueue.3
54
reinstall: uninstall install
57
cd testing && make check
60
$(EDITOR) `find ./ -name '*.c' -o -name '*.h'` Makefile
62
$(PROGRAM)-$(VERSION).tar.gz:
63
mkdir $(PROGRAM)-$(VERSION)
64
cp Makefile ChangeLog configure config.inc $(MANS) $(PROGRAM)-$(VERSION)
65
cp -R src testing include $(PROGRAM)-$(VERSION)
66
find $(PROGRAM)-$(VERSION) -name '.svn' -exec rm -rf {} \; 2>/dev/null || true
67
tar zcf $(PROGRAM)-$(VERSION).tar.gz $(PROGRAM)-$(VERSION)
68
rm -rf $(PROGRAM)-$(VERSION)
70
dist: clean $(PROGRAM)-$(VERSION).tar.gz
73
scp $(PROGRAM)-$(VERSION).tar.gz heily.com:~/public_html/proj/$(PROGRAM)/dist
76
cp -R www/* ~/public_html/libkqueue/
79
rm -f tags $(PROGRAM)-$(VERSION).tar.gz *.a $(OBJS) *.pc *.so *.so.* test-$(PROGRAM)
80
cd testing && make clean
84
rm -f *.tar.gz config.mk config.h $(PROGRAM).pc $(PROGRAM).la rpm.spec
85
rm -rf $(PROGRAM)-$(VERSION) 2>/dev/null || true
87
rpm: clean $(DISTFILE)
88
rm -rf rpm *.rpm *.deb
89
mkdir -p rpm/BUILD rpm/RPMS rpm/SOURCES rpm/SPECS rpm/SRPMS
90
mkdir -p rpm/RPMS/i386 rpm/RPMS/x86_64
91
cp $(DISTFILE) rpm/SOURCES
95
rmdir i386 x86_64 # WORKAROUND: These aren't supposed to exist
96
fakeroot alien --scripts *.rpm
98
deb: clean $(DISTFILE)
100
cd pkg && tar zxf ../$(DISTFILE)
101
cp $(DISTFILE) pkg/$(PROGRAM)_$(VERSION).orig.tar.gz
102
cp -R ports/debian pkg/$(PROGRAM)-$(VERSION)
104
rm -rf `find $(PROGRAM)-$(VERSION)/debian -type d -name .svn` ; \
105
perl -pi -e 's/\@\@VERSION\@\@/$(VERSION)/' $(PROGRAM)-$(VERSION)/debian/changelog ; \
106
cd $(PROGRAM)-$(VERSION) && dpkg-buildpackage -uc -us
108
@printf "\nThe following packages have been created:\n"
109
@find ./pkg -name '*.deb' | sed 's/^/ /'