File: Makefile

package info (click to toggle)
ruli 0.36-3.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,148 kB
  • sloc: ansic: 12,599; sh: 416; makefile: 350; perl: 196; java: 112; php: 55; pascal: 33; lisp: 31
file content (88 lines) | stat: -rw-r--r-- 2,337 bytes parent folder | download | duplicates (3)
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

#
# $Id: Makefile,v 1.20 2005/09/01 11:16:20 evertonm Exp $
#

#
# INSTALL_BASE_DIR indicates where RULI
# is to be installed in your system
#
# Debian packaging likes this: INSTALL_BASE_DIR = $(DESTDIR)/usr
#
INSTALL_BASE_DIR    = $(DESTDIR)/usr
INSTALL_INCLUDE_DIR = $(INSTALL_BASE_DIR)/include
INSTALL_LIB_DIR     = $(INSTALL_BASE_DIR)/lib
INSTALL_BIN_DIR     = $(INSTALL_BASE_DIR)/bin
INSTALL_MAN_DIR     = $(INSTALL_BASE_DIR)/share/man
INSTALL_MAN1_DIR    = $(INSTALL_MAN_DIR)/man1

PLATFORM=$(shell uname)

ifeq ($(PLATFORM),SunOS)
SOLARIS_LIBS = -lresolv -lnsl -lsocket
endif

CC      = gcc
CFLAGS  = -O2 -pipe -Wall -g -I../src
LDFLAGS = -L../src $(SOLARIS_LDFLAGS)
UNRULI_LINK = $(CC) $(ARCH) $(LDFLAGS) -o $@ $^ $(SOLARIS_LIBS)
LINK = $(UNRULI_LINK) -lruli -loop

TARGETS = srvsearch sync_srvsearch smtpsearch sync_smtpsearch \
	sync_httpsearch httpsearch ruli-getaddrinfo getaddrinfo
UNRULI_SHARED_OBJS = parse_options.o
SHARED_OBJS = $(UNRULI_SHARED_OBJS) stdout_srv_list.o

.PHONY: default
default: $(TARGETS)

.PHONY: clean
clean:
	rm -f *~ .*~ *.o $(TARGETS)

.PHONY: build
build: clean default

.PHONY: strip
strip: $(TARGETS)
	strip $(TARGETS)

.PHONY: install
install: $(TARGETS)
	mkdir -p $(INSTALL_BIN_DIR) $(INSTALL_MAN1_DIR)
	cp $(TARGETS) $(INSTALL_BIN_DIR)
	cp ../doc/man/*.1 $(INSTALL_MAN1_DIR)
	cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 smtpsearch.1
	cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 httpsearch.1
	cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 sync_srvsearch.1
	cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 sync_smtpsearch.1
	cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 sync_httpsearch.1
	cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 ruli-getaddrinfo.1
	cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 getaddrinfo.1

%.o: %.c
	$(CC) $(ARCH) $(CPPFLAGS) $(CFLAGS) -c $<

srvsearch: srvsearch.o $(SHARED_OBJS)
	$(LINK)

sync_srvsearch: sync_srvsearch.o $(SHARED_OBJS)
	$(LINK)

smtpsearch: smtpsearch.o $(SHARED_OBJS)
	$(LINK)

sync_smtpsearch: sync_smtpsearch.o $(SHARED_OBJS)
	$(LINK)

httpsearch: httpsearch.o $(SHARED_OBJS)
	$(LINK)

sync_httpsearch: sync_httpsearch.o $(SHARED_OBJS)
	$(LINK)

ruli-getaddrinfo: ruli-getaddrinfo.o addrprint.o $(UNRULI_SHARED_OBJS)
	$(LINK)

getaddrinfo: getaddrinfo.o run_getaddrinfo.o addrprint.o $(UNRULI_SHARED_OBJS)
	$(UNRULI_LINK) -ldl