File: Makefile

package info (click to toggle)
array-info 0.16-12
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 324 kB
  • sloc: ansic: 2,056; makefile: 121; xml: 19
file content (84 lines) | stat: -rw-r--r-- 2,011 bytes parent folder | download
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
DESTDIR =
prefix = /usr/local
sbindir = $(prefix)/sbin
pkglibdir = $(prefix)/lib/array-info
mandir = $(prefix)/share/man

subdirs = lib plugins include

INCLUDES = -I./include -I./linuxheaders

CFLAGS += -g2 -Wall $(INCLUDES) -DARRAY_PLUGIN_PATH=\"$(ARRAY_PLUGIN_PATH)\"
LDFLAGS += -L./lib -larray-info -ldl
OBJS = array_plugin.o array_utils.o main.o

ARRAY_PLUGIN_PATH=$(pkglibdir)/plugins

OUTPUT = array-info
MAN = array-info.1

REL_NAME = array-info
REL_VER = 0.16
DISTDIR=$(REL_NAME)-$(REL_VER)
TARGZ=$(REL_NAME)_$(REL_VER).tar.gz
TARBZ2=$(REL_NAME)_$(REL_VER).tar.bz2

DOCBOOK2XMAN=docbook2x-man


DISTLIST = $(shell ls | grep -v $(TARGZ) | grep -v $(TARBZ2)| grep -v $(DISTDIR))


all : build_lib build_plugins $(OUTPUT) $(MAN).gz

build_lib : 
	make -C lib

build_plugins :	
	make -C plugins

$(OUTPUT) : $(OBJS)
	$(CC) -o $(OUTPUT) $(OBJS) $(LDFLAGS)

$(MAN).gz :  $(MAN).docbook
	$(DOCBOOK2XMAN) $(MAN).docbook
	-gzip --best $(MAN)

install : all $(MAN).gz
	mkdir -p $(DESTDIR)$(sbindir)/.
	cp $(OUTPUT) $(DESTDIR)$(sbindir)/.
	for dir in $(subdirs) ; do \
		$(MAKE) -C $$dir $@ DESTDIR=$(DESTDIR) prefix=$(prefix); \
	done
	mkdir -p $(DESTDIR)$(mandir)/man1
	cp $(MAN).gz $(DESTDIR)$(mandir)/man1/

release : indent clean
	cd .. && cp -a $(REL_NAME) $(REL_NAME)-$(REL_VER) && tar czf $(REL_NAME)-$(REL_VER).tar.gz $(REL_NAME)-$(REL_VER)

indent : 
	find . -name "*.[ch]" -exec indent -kr -i8 -ts8 -sob -l80 -ss -bs -psl {} \; && find . -name "*~" -exec rm {} \;

clean distclean ::
	for dir in $(subdirs) ; do \
		$(MAKE) -C $$dir $@ DESTDIR=$(DESTDIR) prefix=$(prefix); \
	done
clean ::
	rm -f *~ $(OBJS)

distclean :: clean
	rm -f *~ $(OBJS) $(OUTPUT) $(MAN).gz $(TARGZ) $(TARBZ2)

changelog :
	rm -f ChangeLog
	cvs2cl --utc -U Contributors -I ChangeLog

dist : distclean
	rm -rf $(DISTDIR)
	rm -f $(TARGZ) $(TARBZ2)
	mkdir $(DISTDIR)
	cp -r $(DISTLIST) $(DISTDIR)
	-find $(DISTDIR) -type d -name CVS -exec rm -rf {} \;
	tar czf $(TARGZ) $(DISTDIR)
	tar cjf $(TARBZ2) $(DISTDIR)
	rm -rf $(DISTDIR)