File: Makefile

package info (click to toggle)
libvalhalla 1.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 1,148 kB
  • ctags: 1,442
  • sloc: ansic: 9,826; sh: 1,153; php: 492; makefile: 278
file content (126 lines) | stat: -rw-r--r-- 2,271 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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
ifeq (,$(wildcard config.mak))
$(error "config.mak is not present, run configure !")
endif
include config.mak

PKGCONFIG_DIR = $(libdir)/pkgconfig
PKGCONFIG_FILE = libvalhalla.pc

VHTEST = libvalhalla-test
VHTEST_SRCS = libvalhalla-test.c
VHTEST_OBJS = $(VHTEST_SRCS:.c=.o)

override CPPFLAGS += -Isrc
override LDFLAGS += -Lsrc -lvalhalla

ifeq ($(BUILD_STATIC),yes)
ifeq ($(BUILD_SHARED),no)
  override LDFLAGS += $(EXTRALIBS)
endif
endif

DISTFILE = libvalhalla-$(VERSION).tar.bz2

EXTRADIST = \
	AUTHORS \
	ChangeLog \
	configure \
	COPYING \
	README \
	TODO \

SUBDIRS = \
	DOCS \
	src \
	utils \

.SUFFIXES: .c .o

all: lib apps docs

.c.o:
	$(CC) -c $(OPTFLAGS) $(CFLAGS) $(CPPFLAGS) -o $@ $<

lib:
	$(MAKE) -C src

$(VHTEST): $(VHTEST_OBJS)
	$(CC) $(VHTEST_OBJS) $(LDFLAGS) -o $(VHTEST)

apps-dep:
	$(CC) -MM $(CFLAGS) $(CPPFLAGS) $(VHTEST_SRCS) 1>.depend

apps: apps-dep lib
	$(MAKE) $(VHTEST)

docs:
	$(MAKE) -C DOCS

docs-clean:
	$(MAKE) -C DOCS clean

clean:
	$(MAKE) -C src clean
	rm -f *.o
	rm -f $(VHTEST)
	rm -f .depend

distclean: clean docs-clean
	rm -f config.log
	rm -f config.mak
	rm -f $(DISTFILE)
	rm -f $(PKGCONFIG_FILE)

install: install-lib install-pkgconfig install-apps install-docs

install-lib: lib
	$(MAKE) -C src install

install-pkgconfig: $(PKGCONFIG_FILE)
	$(INSTALL) -d "$(PKGCONFIG_DIR)"
	$(INSTALL) -m 644 $< "$(PKGCONFIG_DIR)"

install-apps: apps
	$(INSTALL) -d $(bindir)
	$(INSTALL) -c -m 755 $(VHTEST) $(bindir)

install-docs: docs
	$(MAKE) -C DOCS install

uninstall: uninstall-lib uninstall-pkgconfig uninstall-apps uninstall-docs

uninstall-lib:
	$(MAKE) -C src uninstall

uninstall-pkgconfig:
	rm -f $(PKGCONFIG_DIR)/$(PKGCONFIG_FILE)

uninstall-apps:
	rm -f $(bindir)/$(VHTEST)

uninstall-docs:
	$(MAKE) -C DOCS uninstall

.PHONY: *clean *install* docs apps*

dist:
	-$(RM) $(DISTFILE)
	dist=$(shell pwd)/libvalhalla-$(VERSION) && \
	for subdir in . $(SUBDIRS); do \
		mkdir -p "$$dist/$$subdir"; \
		$(MAKE) -C $$subdir dist-all DIST="$$dist/$$subdir"; \
	done && \
	tar cjf $(DISTFILE) libvalhalla-$(VERSION)
	-$(RM) -rf libvalhalla-$(VERSION)

dist-all:
	cp $(EXTRADIST) $(VHTEST_SRCS) Makefile $(DIST)

.PHONY: dist dist-all

#
# include dependency files if they exist
#
ifneq ($(wildcard .depend),)
include .depend
endif