File: Makefile

package info (click to toggle)
muroar 0.1.2-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 196 kB
  • ctags: 140
  • sloc: ansic: 569; sh: 236; makefile: 128
file content (81 lines) | stat: -rw-r--r-- 2,663 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
include Makefile.conf

LIBNAME=libmuroar

SOVERSION = 0

SLIB_BASE=$(LIBNAME)$(SHARED_SUFFIX)
SLIB=$(SLIB_BASE).$(SOVERSION)
ALIB=$(LIBNAME).a
BIN = muroarstream
MANPAGES_1=$(BIN).1
MANPAGES_3=muroar_noop.3 muroar_beep.3 muroar_quit.3 muroar_close.3 muroar_connect.3 muroar_stream.3 muroar_write.3 muroar_read.3
TARGETS=$(SLIB) $(ALIB) $(BIN)

HEADER=muroar.h

OBJS=muroar.o muroario.o muroar_noop.o muroar_beep.o

CFLAGS  += -Wall -Wextra $(fPIC) $(def_dnet) $(def_header_endian_h)
LDFLAGS += -Wall -Wextra

NETLIBS  = $(lib_dnet) $(lib_wsock32) $(lib_ws2_32)
LIBS    += $(NETLIBS)

all: prepare ${TARGETS}
clean:
	rm -f ${TARGETS} *.o
	rm -f '$(SLIB_BASE)'
distclean: clean
	rm -f Makefile.conf config.log

prepare: $(SLIB_BASE)

$(SLIB_BASE):
	ln -fs '$(SLIB)' '$(SLIB_BASE)'

new: clean all

prep-install-dirs:
	mkdir -p '$(DESTDIR)$(PREFIX_BIN)'
	mkdir -p '$(DESTDIR)$(PREFIX_LIB)'
	mkdir -p '$(DESTDIR)$(PREFIX_INC)'
	mkdir -p '$(DESTDIR)$(PREFIX_MAN)/man1'
	mkdir -p '$(DESTDIR)$(PREFIX_MAN)/man3'

install: all prep-install-dirs
	cp $(cp_v) $(SLIB)    '$(DESTDIR)$(PREFIX_LIB)'
	cp $(cp_v) $(ALIB)    '$(DESTDIR)$(PREFIX_LIB)'
	cp $(cp_v) $(BIN)     '$(DESTDIR)$(PREFIX_BIN)'
	cp $(cp_v) $(HEADER)  '$(DESTDIR)$(PREFIX_INC)'
	set -e; for p in $(MANPAGES_1); do cp $(cp_v) $$p '$(DESTDIR)$(PREFIX_MAN)/man1/'; done
	set -e; for p in $(MANPAGES_3); do cp $(cp_v) $$p '$(DESTDIR)$(PREFIX_MAN)/man3/'; done
	ln -fs '$(SLIB)' '$(DESTDIR)$(PREFIX_LIB)$(SLIB_BASE)'

semi-install: all prep-install-dirs
	ln -fs `pwd`/$(SLIB)    '$(DESTDIR)$(PREFIX_LIB)'
	ln -fs `pwd`/$(ALIB)    '$(DESTDIR)$(PREFIX_LIB)'
	ln -fs `pwd`/$(BIN)     '$(DESTDIR)$(PREFIX_BIN)'
	ln -fs `pwd`/$(HEADER)  '$(DESTDIR)$(PREFIX_INC)'
	set -e; for p in $(MANPAGES_1); do ln -fs `pwd`/$$p '$(DESTDIR)$(PREFIX_MAN)/man1/'; done
	set -e; for p in $(MANPAGES_3); do ln -fs `pwd`/$$p '$(DESTDIR)$(PREFIX_MAN)/man3/'; done
	ln -fs '$(DESTDIR)$(PREFIX_LIB)$(SLIB)' '$(DESTDIR)$(PREFIX_LIB)$(SLIB_BASE)'

uninstall:
	rm -f '$(DESTDIR)$(PREFIX_BIN)'/$(BIN)
	rm -f '$(DESTDIR)$(PREFIX_LIB)'/$(SLIB)
	rm -f '$(DESTDIR)$(PREFIX_LIB)'/$(SLIB_BASE)
	rm -f '$(DESTDIR)$(PREFIX_LIB)'/$(ALIB)
	rm -f '$(DESTDIR)$(PREFIX_INC)'/$(HEADER)
	rm -f '$(DESTDIR)$(PREFIX_MAN)'/man1/$(MANPAGE)
	set -e; for p in $(MANPAGES_1); do rm -f '$(DESTDIR)$(PREFIX_MAN)'/man1/$$p; done
	set -e; for p in $(MANPAGES_3); do rm -f '$(DESTDIR)$(PREFIX_MAN)'/man3/$$p; done

$(SLIB): ${OBJS}
	${CC} ${LDFLAGS} $(SHARED) -Wl,-soname,$(SLIB) -o $(SLIB) ${OBJS} ${LIBS}
$(ALIB): ${OBJS}
	${AR} cru $(ALIB) ${OBJS}
	${RANLIB} $(ALIB)

muroarstream: muroarstream.o
	${CC} ${LDFLAGS} -o muroarstream muroarstream.o -L. -lmuroar ${LIBS}