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 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
#
# ipvsadm - IP Virtual Server ADMinistration program
# for IPVS NetFilter Module in kernel 2.4
#
# Version: $Id: Makefile,v 1.17 2002/03/25 12:44:38 wensong Exp $
#
# Authors: Wensong Zhang <wensong@linux-vs.org>
# Peter Kese <peter.kese@ijs.si>
#
# This file:
#
# ChangeLog
#
# Wensong : Modified the Makefile and the spec files so
# : that rpms can be created with ipvsadm alone
# P.Copeland : Modified the Makefile and the spec files so
# : that it is possible to create rpms on the fly
# : using 'make rpms'
# : Also added NAME, VERSION and RELEASE numbers to
# : the Makefile
# Horms : Updated to add config_stream.c dynamic_array.c
# : Added autodetection of libpot
# : Added BUILD_ROOT support
# Wensong : Changed the OBJS according to detection
#
NAME = ipvsadm
VERSION = $(shell cat VERSION)
RELEASE = 6
SCHEDULERS = "$(shell cat SCHEDULERS)"
CC = gcc
CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -O2
SBIN = $(BUILD_ROOT)/sbin
MANDIR = usr/man
MAN = $(BUILD_ROOT)/$(MANDIR)/man8
INIT = $(BUILD_ROOT)/etc/rc.d/init.d
MKDIR = mkdir
INSTALL = install
INCLUDE = -I/usr/src/linux/include -I.. -I.
STATIC_LIBS = libipvs/libipvs.a
#####################################
# No servicable parts below this line
IP_VS_H_DEFINE = $(shell if [ ! -f ../ip_vs.h ]; then \
echo "-DHAVE_NET_IP_VS_H"; fi;)
LIB_SEARCH = /lib /usr/lib /usr/local/lib
ifeq (,$(FORCE_GETOPT))
POPT_LIB = $(shell for i in $(LIB_SEARCH); do \
if [ -f $$i/libpopt.a ]; then \
if nm $$i/libpopt.a | fgrep -q poptGetContext; then \
echo "-L$$i -lpopt"; \
fi; \
fi; \
done)
endif
ifneq (,$(POPT_LIB))
POPT_DEFINE = -DHAVE_POPT
endif
OBJS = ipvsadm.o config_stream.o dynamic_array.o
LIBS = $(POPT_LIB)
DEFINES = -DVERSION=\"$(VERSION)\" -DSCHEDULERS=\"$(SCHEDULERS)\" \
$(POPT_DEFINE) $(IP_VS_H_DEFINE)
.PHONY = all clean install dist distclean rpm rpms
all: ipvsadm
ipvsadm: $(OBJS) $(STATIC_LIBS)
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
install: ipvsadm
strip ipvsadm
if [ ! -d $(SBIN) ]; then $(MKDIR) -p $(SBIN); fi
$(INSTALL) -m 0755 ipvsadm $(SBIN)
$(INSTALL) -m 0755 ipvsadm-save $(SBIN)
$(INSTALL) -m 0755 ipvsadm-restore $(SBIN)
[ -d $(MAN) ] || $(MKDIR) -p $(MAN)
$(INSTALL) -m 0644 ipvsadm.8 $(MAN)
$(INSTALL) -m 0644 ipvsadm-save.8 $(MAN)
$(INSTALL) -m 0644 ipvsadm-restore.8 $(MAN)
if [ -d $(INIT) ]; then \
$(INSTALL) -m 0755 ipvsadm.sh $(INIT)/ipvsadm; \
fi
clean:
rm -f ipvsadm $(NAME).spec $(NAME)-$(VERSION).tar.gz
rm -rf debian/tmp
find . -name '*.[ao]' -o -name "*~" -o -name "*.orig" \
-o -name "*.rej" -o -name core | xargs rm -f
distclean: dist
dist: clean
sed -e "s/@@VERSION@@/$(VERSION)/g" \
-e "s/@@RELEASE@@/$(RELEASE)/g" \
< ipvsadm.spec.in > ipvsadm.spec
( cd .. ; tar czvf $(NAME)-$(VERSION).tar.gz \
--exclude CVS \
--exclude $(NAME)-$(VERSION).tar.gz \
ipvsadm ; \
mv $(NAME)-$(VERSION).tar.gz ipvsadm )
rpm: rpms
rpms: dist
cp $(NAME)-$(VERSION).tar.gz /usr/src/redhat/SOURCES/
cp $(NAME).spec /usr/src/redhat/SPECS/
(cd /usr/src/redhat/SPECS/ ; rpm -ba $(NAME).spec)
deb: debs
debs:
dpkg-buildpackage
%.o: %.c
$(CC) $(CFLAGS) $(INCLUDE) $(DEFINES) -o $@ -c $<
include $(shell echo */Makefile)
|