File: Makefile

package info (click to toggle)
electric-fence 2.2.7
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 156 kB
  • sloc: ansic: 980; makefile: 68
file content (79 lines) | stat: -rw-r--r-- 2,093 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
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
       CFLAGS=-O0 -fno-builtin-malloc -g -Wall -DUSE_SEMAPHORE -fPIC
else
       CFLAGS=-O2 -fno-builtin-malloc -g -Wall -DUSE_SEMAPHORE -fPIC
endif

LIBS= -lpthread

prefix=$(DESTDIR)/usr
BIN_INSTALL_DIR= $(prefix)/bin
LIB_INSTALL_DIR= $(prefix)/lib
MAN_INSTALL_DIR= $(prefix)/share/man/man3


CC= cc
AR= ar
INSTALL= install

PACKAGE_SOURCE= README efence.3 Makefile efence.h \
	efence.c page.c print.c eftest.c tstheap.c CHANGES

OBJECTS= efence.o page.o print.o

all:	libefence.a libefence.so.0.0 tstheap eftest
	@ echo
	@ echo "Testing Electric Fence."
	@ echo "After the last test, it should print that the test has PASSED."
	./eftest
	./tstheap 3072
	@ echo
	@ echo "Electric Fence confidence test PASSED." 
	@ echo

install: libefence.a libefence.3 libefence.so.0.0
#	$(INSTALL) -m 755 ef.sh $(BIN_INSTALL_DIR)/ef
	mkdir -p $(LIB_INSTALL_DIR)
	$(INSTALL) -m 644 libefence.a $(LIB_INSTALL_DIR)/
	$(INSTALL) -m 755 libefence.so.0.0 $(LIB_INSTALL_DIR)/
	- rm -f $(LIB_INSTALL_DIR)/libefence.so.0
	ln -s libefence.so.0.0 $(LIB_INSTALL_DIR)/libefence.so.0
	- rm -f $(LIB_INSTALL_DIR)/libefence.so
	ln -s libefence.so.0 $(LIB_INSTALL_DIR)/libefence.so
	mkdir -p $(MAN_INSTALL_DIR)
	$(INSTALL) -m 644 libefence.3 $(MAN_INSTALL_DIR)/libefence.3

clean:
	- rm -f $(OBJECTS) tstheap.o eftest.o tstheap eftest \
	 libefence.a libefence.so.0.0 libefence.cat ElectricFence.shar


roff:
	nroff -man < libefence.3 > libefence.cat


ElectricFence.shar: $(PACKAGE_SOURCE)
	shar $(PACKAGE_SOURCE) > ElectricFence.shar

shar: ElectricFence.shar

libefence.a: $(OBJECTS)
	- rm -f libefence.a
	$(AR) crv libefence.a $(OBJECTS)

libefence.so.0.0: $(OBJECTS)
	$(CC) -shared -Wl,-soname,libefence.so.0 -o libefence.so.0.0 \
		$(CFLAGS) $(OBJECTS) -lpthread -lc 

tstheap: libefence.a tstheap.o
	- rm -f tstheap
	$(CC) $(CFLAGS) tstheap.o libefence.a -o tstheap $(LIBS)

eftest: libefence.a eftest.o
	- rm -f eftest
	$(CC) $(CFLAGS) eftest.o libefence.a -o eftest $(LIBS)

$(OBJECTS) tstheap.o eftest.o: efence.h

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