File: Makefile

package info (click to toggle)
wmacpi 2.2~rc4-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 312 kB
  • ctags: 202
  • sloc: ansic: 1,680; sh: 93; makefile: 86
file content (71 lines) | stat: -rw-r--r-- 1,609 bytes parent folder | download | duplicates (2)
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
# set options.  pick one, acpi or apm.  comment out the other one.  don't
# uncomment both, bad things will happen :)

OPT	:= -O2 

# uncomment this to build the command line acpi tool
BUILD_CLI = 1

# uncomment this to make wmacpi use less system colors (looks uglier too)
#OPT	+= -DLOW_COLOR

# debugging options (don't bother with these)
#OPT	= -pg -g

CC	:= gcc
CFLAGS	:= $(OPT) -Wall -W -g -ansi -I/usr/X11R6/include
LDFLAGS := $(OPT) -lX11 -ldockapp

WMSRC	:= wmacpi.c libacpi.c
HEADERS := libacpi.h wmacpi.h
targets := wmacpi
doc_targets := wmacpi.1

ifdef BUILD_CLI
targets += acpi
doc_targets += acpi.1
endif

PREFIX := /usr/local

all: $(targets)

# build the list of object files
WMOBJ := $(patsubst %.c,%.o,$(filter %.c,$(WMSRC)))

# include per-file dependencies
-include $(WMOBJ:.o=.d)

wmacpi:	$(WMOBJ)
	$(CC) $(LDFLAGS) -o $@ $^

# for the Debian package, we want to make building the command line tools
# optional. So, we hide all the necessary stuff here . . . 
ifdef BUILD_CLI
CLSRC := acpi.c libacpi.c
CLOBJ := $(patsubst %.c,%.o,$(filter %.c,$(CLSRC)))
-include $(CLOBJ:.o=.d)

acpi: $(CLOBJ)
	$(CC) $(LDFLAGS) -o $@ $^
endif

# build per-file dependencies - note that -MM may not be supported
# in gcc versions older than 2.95.4, but most likely is.
%.d: %.c
	gcc -MM $(CFLAGS) $< > $@

clean:
	rm -f TAGS *.o *~ trace *.out *.bb *.bbg 

clean-all: clean
	rm -f *.d $(targets)

install: $(targets)
	install -d $(PREFIX)/bin/
	install -pc $(targets) $(PREFIX)/bin/
	install -d $(PREFIX)/man/man1/
	install -pc $(doc_targets) $(PREFIX)/man/man1/

tags:
	etags $(WMSRC) $(CLSRC) $(HEADERS)