File: Makefile

package info (click to toggle)
disulfinder 1.2.11-13
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,244 kB
  • sloc: cpp: 15,877; makefile: 2,534; ansic: 1,233; sh: 77
file content (89 lines) | stat: -rwxr-xr-x 2,498 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/usr/bin/make -f
# Remove binaries and shared objects (.so): find disulfind \( \( -name '*.o' \) -o \( -type f -exec bash -c '[[ $(file "{}") =~ ELF.*(executable|object) ]];' \; \) \) -ls -delete
PACKAGE := disulfinder
# upstream version is 1.2, our version is 8
VERSION := 1.2.11
DISTDIR := $(PACKAGE)-$(VERSION)

DISULFARCH := disulfind.tgz
DISULFDIR := disulfind

MAN1PAGES := disulfinder.1

prefix := /usr
docdir := $(prefix)/share/doc/$(PACKAGE)

CXXFLAGS += -DDEFAULT_PKGDATADIR=\"$(prefix)/share/disulfinder\"
export CXXFLAGS

.PHONY: all
all: disulfinder doc

.PHONY: disulfinder
disulfinder:
	$(MAKE) -C disulfind/src disulfinder

.PHONY: doc
doc: $(MAN1PAGES)

%.1: %.pod
	sed -e 's|__datadir__|$(datadir)|g;s|__docdir__|$(docdir)|g;s|__pkgdatadir__|$(pkgdatadir)|g;s|__PREFIX__|$(prefix)|g;s|__sysconfdir__|$(sysconfdir)|g;s|__VERSION__|$(VERSION)|g;' "$<" | \
	pod2man -c 'User Commands' -r '$(VERSION)' -name $(shell echo "$(basename $@)" | tr '[:lower:]' '[:upper:]') > "$@"

.PHONY: untar
untar: $(DISULFDIR)

$(DISULFDIR):
	tar -xvzf $(DISULFARCH) --exclude 'disulfind/src/BRNN/boost*' --exclude 'disulfind/src/BRNN/test' --exclude 'disulfind/Models/conn/data/sequences_w5' \
		--exclude disulfind/src/tmp/disulfind_conn_train.tgz --exclude disulfind/src/BRNN/RNNs.tgz && rm -f initial-clean-stamp patch-stamp

install:
	$(MAKE) -C $(DISULFDIR)/src install
	mkdir -p $(DESTDIR)$(prefix)/share/man/man1 && cp $(MAN1PAGES) $(DESTDIR)$(prefix)/share/man/man1/
	mkdir -p $(DESTDIR)$(docdir)/examples && cp examples/res_id_* $(DESTDIR)$(docdir)/examples/

clean:
	if [ -e "$(DISULFDIR)/src/Makefile" ]; then $(MAKE) -C $(DISULFDIR)/src clean; fi
	rm -f *.[12345678] *.[12345678].gz

distclean: clean
	#if [ -d "$(DISULFDIR)" ]; then rm -rf $(DISULFDIR); fi
	if [ -d "$(DISTDIR)" ]; then rm -rf "$(DISTDIR)"; fi
	rm -rf	patch-stamp \
		initial-clean-stamp \
		"$(DISTDIR).tar.gz" \
		.pc

dist: distdir
	tar chof - "$(DISTDIR)" | gzip -c > "$(DISTDIR).tar.gz"
	rm -rf "$(DISTDIR)"

distdir: clean
	rm -rf "$(DISTDIR)" && mkdir -p "$(DISTDIR)" && \
	rsync -avC \
		--exclude /*-stamp \
		--exclude .*.swp \
		--exclude *.o \
		examples \
		ChangeLog \
		COPYING \
		Makefile \
		disulfind \
		disulfinder.pod \
		Makefile \
		"$(DISTDIR)/";

help:
	@echo "Rules:"
	@echo "all*"
	@echo "*disulfinder"
	@echo "*doc"
	@echo "install"
	@echo "  set DESTDIR and prefix as needed"
	@echo "clean"
	@echo "distclean"
	@echo "dist - create tar.gz package"
	@echo "untar"
	@echo "help"

# vim:ai: