File: Makefile

package info (click to toggle)
sms-pl 1.8.9i-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 356 kB
  • ctags: 294
  • sloc: cpp: 1,837; ansic: 625; perl: 272; makefile: 101; sh: 29
file content (112 lines) | stat: -rw-r--r-- 3,667 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
# Wygenerowano Tue Jun  8 19:28:21 1999
# przez mkmake - (c) Mikolaj Rydzewski, <miki@ceti.pl>

TARGET=sms
CXX?=c++
CC?=gcc

# aby skompilowac program z opcja sledzenia dodaj opcje -DDEBUG
#
# starsze wersje g++ nie mialy wlaczonej obslugi wyjatkow - jesli uzywasz
# takiej to dodaj flage --handle-exceptions
#
# aby skompilowac program w systemie gdzie nie ma funkcji vsnprintf()
# nalezy dodac opcje -DNO_VSPRINTF
#
# Aby zwracane byly kody bledow w stylu qmaila -DFOR_QMAIL
#
# wszystkie ww opcje nalezy dodawac do zmiennej CFLAGS

CFLAGS+=-O2 -Wall -g

# dla starszych wersji Solarisa (tam gdzie nie ma snprintf, getdomainname,
# itd.) odkomentuj ponizsze dwie linie:
# CFLAGS2=-DOLD_SOLARIS
# OLD_S=snprintf.o

# jesli kompilujesz program pod SunOS / Solaris  nalezy odkomentowac
# ponizsza linie:
# SOLARIS_LIBS_OPT=-lsocket -lnsl -L/usr/local/lib -R/usr/local/lib

# jesli chcesz wylaczyc obsluge ksiazki adresowej zakomentuj ponizsze
# linie:
GDBM=-lgdbm
ADDR_DEF=-DADDR_BOOK
ADDR_O=cgdbm.o addrbook.o
SMSADDR=smsaddr
LNCMD=rm -f $(SMSADDR); ln -s $(TARGET) $(SMSADDR)

# nw katalogi nie sa przeszukiwane automatycznie na FreeBSD, NetBSD i OpenBSD.
# Odkomentuj ponizsze linie jesli kompilujesz program na tych systemach
# BSD_INC=-I/usr/local/include -I/usr/pkg/include
# BSD_LIB=-L/usr/local/lib -L/usr/pkg/lib

# katalog pod ktorym program zostanie zainstalowany po make install - binaria
# ida do $DIR/$BIN, reszta do $DIR/$DOC
PREFIX?=/usr/local
INSTALL_PREFIX=$(PREFIX)
INSTALL_BIN=$(INSTALL_PREFIX)/bin
INSTALL_DOC=$(INSTALL_PREFIX)/doc/sms

# ponizej juz nic nie powinno sie zmieniac

INCLUDE_OPT=$(BSD_INC)
LIBS_OPT=$(GDBM) $(SOLARIS_LIBS_OPT) $(BSD_LIB)

all: $(TARGET)
$(TARGET): $(ADDR_O) $(OLD_S) plus.o idea.o era.o freesms.o podziel_sms.o headers.o request.o main.o socket.o debug.o mail.o icq.o
	$(CXX) $(CFLAGS) -o $(TARGET) $(ADDR_O) $(OLD_S) plus.o idea.o era.o freesms.o podziel_sms.o headers.o request.o main.o socket.o debug.o mail.o icq.o $(LIBS_OPT)
#	$(LNCMD)
#+

ifdef GDBM
addrbook.o: addrbook.cc addrbook.h
	$(CXX) $(CFLAGS) $(INCLUDE_OPT) -c addrbook.cc
cgdbm.o: cgdbm.cc cgdbm.h
	$(CXX) $(CFLAGS) $(INCLUDE_OPT) -c cgdbm.cc
endif

ifdef OLD_S
snprintf.o: snprintf.c
	$(CC) $(CFLAGS) $(CFLAGS2) $(INCLUDE_OPT) -c snprintf.c
endif

plus.o: plus.cc sms.h headers.h request.h
	$(CXX) $(CFLAGS) $(CFLAGS2) $(INCLUDE_OPT) -c plus.cc
idea.o: idea.cc sms.h headers.h request.h
	$(CXX) $(CFLAGS) $(INCLUDE_OPT) -c idea.cc
era.o: era.cc sms.h headers.h request.h
	$(CXX) $(CFLAGS) $(INCLUDE_OPT) -c era.cc
icq.o: icq.cc sms.h
	$(CXX) $(CFLAGS) $(INCLUDE_OPT) -c icq.cc
freesms.o: freesms.cc sms.h headers.h request.h
	$(CXX) $(CFLAGS) $(INCLUDE_OPT) -c freesms.cc
podziel_sms.o: podziel_sms.cc sms.h
	$(CXX) $(CFLAGS) $(INCLUDE_OPT) -c podziel_sms.cc
headers.o: headers.cc headers.h
	$(CXX) $(CFLAGS) $(INCLUDE_OPT) -c headers.cc
request.o: request.cc sms.h request.h socket.h
	$(CXX) $(CFLAGS) $(INCLUDE_OPT) -c request.cc
main.o: main.cc addrbook.h sms.h headers.h
	$(CXX) $(CFLAGS) $(INCLUDE_OPT) $(ADDR_DEF) -c main.cc
socket.o: socket.cc socket.h
	$(CXX) $(CFLAGS) $(INCLUDE_OPT) -c socket.cc
debug.o: debug.cc debug.h sms.h
	$(CXX) $(CFLAGS) $(INCLUDE_OPT) -c debug.cc
mail.o: mail.cc sms.h
	$(CXX) $(CFLAGS) $(CFLAGS2) $(INCLUDE_OPT) -c mail.cc
#.
clean:
	rm -f sms.log core *.o $(TARGET) $(SMSADDR)
install: all
	mkdir -p -m 755 $(INSTALL_BIN)
	install -s -m 755 $(TARGET) $(INSTALL_BIN)
	ln $(INSTALL_BIN)/$(TARGET) $(INSTALL_BIN)/$(SMSADDR)
#	mkdir -p $(INSTALL_DOC)/contrib
#	install -m 644 README* $(INSTALL_DOC)
#	install -m 644 contrib/* $(INSTALL_DOC)/contrib
#	chmod -R a+rX $(INSTALL_DOC)

archive: clean
	./make_archive