File: Makefile

package info (click to toggle)
libacpi 0.2-7
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 1,120 kB
  • sloc: ansic: 870; makefile: 83; sh: 19
file content (94 lines) | stat: -rw-r--r-- 3,110 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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# libacpi - general purpose acpi library
# (C)opyright 2007 Nico Golde <nico@ngolde.de>

include config.mk

SRC = libacpi.c list.c
SRC_test = test-libacpi.c libacpi.c list.c
OBJ = ${SRC:.c=.o}
OBJ_test = ${SRC_test:.c=.o}

all: options libacpi.a libacpi.so test-libacpi

options:
	@echo libacpi build options:
	@echo "CFLAGS   = ${CFLAGS}"
	@echo "CC       = ${CC}"
	@echo "SOFLAGS  = ${SOFLAGS}"
	@echo "LD       = ${LD}"

.c.o:
	@echo CC $<
	@${CC} -c ${CFLAGS} $<

${OBJ}: config.mk libacpi.h

libacpi.a: ${OBJ}
	@echo AR $@
	@${AR} $@ ${OBJ}
	@${RANLIB} $@

libacpi.so: libacpi.so.${SOVERSION}
libacpi.so.${SOVERSION}: ${OBJ}
	@echo LD $@
	@${LD} ${SOFLAGS} -o $@ ${OBJ}

test-libacpi: ${OBJ_test}
	@echo LD $@
	@${LD} -o $@ ${OBJ_test} ${LDFLAGS}

install: all
	@echo installing header to ${DESTDIR}${PREFIX}/include
	@mkdir -p ${DESTDIR}${PREFIX}/include
	@cp -f libacpi.h ${DESTDIR}${PREFIX}/include
	@chmod 644 ${DESTDIR}${PREFIX}/include/libacpi.h
	@echo installing library to ${DESTDIR}${PREFIX}/lib
	@mkdir -p ${DESTDIR}${PREFIX}/lib
	@cp -f libacpi.a ${DESTDIR}${PREFIX}/lib
	@chmod 644 ${DESTDIR}${PREFIX}/lib/libacpi.a
	@cp -f ${SONAME} ${DESTDIR}${PREFIX}/lib/
	@chmod 644 ${DESTDIR}${PREFIX}/lib/${SONAME}
	@ln -s ${SONAME} ${DESTDIR}${PREFIX}/lib/libacpi.so
	@echo installing test-libacpi to ${DESTDIR}${PREFIX}/bin
	@mkdir -p ${DESTDIR}${PREFIX}/bin
	@cp -f test-libacpi ${DESTDIR}${PREFIX}/bin
	@chmod 755 ${DESTDIR}${PREFIX}/bin/test-libacpi
	@echo installing manual page to ${DESTDIR}${MANPREFIX}/man3
	@mkdir -p ${DESTDIR}${MANPREFIX}/man3
	@cp libacpi.3 ${DESTDIR}${MANPREFIX}/man3
	@echo installing documentation and misc files to ${DESTDIR}${PREFIX}/share/doc/libacpi
	@mkdir -p ${DESTDIR}${PREFIX}/share/doc/libacpi
	@cp -r AUTHORS CHANGES README LICENSE doc ${DESTDIR}${PREFIX}/share/doc/libacpi
	@echo finished installation

uninstall:
	@echo removing header file from ${DESTDIR}${PREFIX}/include
	@rm -f ${DESTDIR}${PREFIX}/include/libacpi.h
	@echo removing library file from ${DESTDIR}${PREFIX}/lib
	@rm -f ${DESTDIR}${PREFIX}/lib/libacpi.a
	@echo removing shared object file from ${DESTDIR}${PREFIX}/lib
	@rm -f ${DESTDIR}${PREFIX}/lib/libacpi.so
	@rm -f ${DESTDIR}${PREFIX}/lib/${SONAME}
	@echo removing test-libacpi client from ${DESTDIR}${PREFIX}/bin
	@rm -f ${DESTDIR}${PREFIX}/bin/test-libacpi
	@echo removing manual page from ${DESTDIR}${MANPREFIX}/man3
	@rm -f ${DESTDIR}${MANPREFIX}/man3/libacpi.3
	@echo removing documentation and misc files from ${DESTDIR}${PREFIX}/share/doc/libacpi
	@rm -rf ${DESTDIR}${PREFIX}/share/doc/libacpi
	@echo uninstalled everything

dist:
	@echo creating dist tarball
	@mkdir -p libacpi-${VERSION}
	@cp libacpi.3 TODO AUTHORS CHANGES config.mk Makefile *.c *.h README LICENSE Doxyfile libacpi-${VERSION}
	@(cd libacpi-${VERSION}; doxygen)
	@rm -f libacpi-${VERSION}/Doxyfile
	@tar -cf libacpi-${VERSION}.tar libacpi-${VERSION}
	@gzip libacpi-${VERSION}.tar
	@rm -rf libacpi-${VERSION}

clean:
	@echo cleaning
	@rm -f libacpi.a libacpi.so* test-libacpi ${OBJ_test} libacpi-${VERSION}.tar.gz

.PHONY: all options clean dist install uninstall