summaryrefslogtreecommitdiff
blob: 54d2e55c15190aaed719f0bb53a889d5997ec9a6 (plain)
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
diff -Nuar -Nuar --exclude '*.orig' --exclude '*.rej' ipvsadm-1.27.orig/libipvs/Makefile ipvsadm-1.27/libipvs/Makefile
--- ipvsadm-1.27.orig/libipvs/Makefile	2013-09-06 01:37:27.000000000 -0700
+++ ipvsadm-1.27/libipvs/Makefile	2013-11-01 23:45:21.633636401 -0700
@@ -1,9 +1,9 @@
 # Makefile for libipvs
 
 CC		= gcc
-CFLAGS		= -Wall -Wunused -Wstrict-prototypes -g -fPIC
+#OPTFLAGS		= -Wall -Wunused -Wstrict-prototypes
 ifneq (0,$(HAVE_NL))
-CFLAGS		+= -DLIBIPVS_USE_NL
+DEFINES		+= -DLIBIPVS_USE_NL
 CFLAGS		+= $(shell \
 		if which pkg-config > /dev/null 2>&1; then \
 		  if   pkg-config --cflags libnl-3.0  2> /dev/null; then :; \
@@ -15,7 +15,7 @@
 
 INCLUDE		+= $(shell if [ -f ../../ip_vs.h ]; then	\
 		     echo "-I../../."; fi;)
-DEFINES		= $(shell if [ ! -f ../../ip_vs.h ]; then	\
+DEFINES		+= $(shell if [ ! -f ../../ip_vs.h ]; then	\
 		    echo "-DHAVE_NET_IP_VS_H"; fi;)
 DEFINES		+= $(shell if which pkg-config > /dev/null 2>&1; then \
 			 if   pkg-config --exists libnl-3.0; then :; \
@@ -24,21 +24,31 @@
 			 then echo "-DFALLBACK_LIBNL1"; fi; fi)
 
 .PHONY		= all clean install dist distclean rpm rpms
+
 STATIC_LIB	= libipvs.a
 SHARED_LIB	= libipvs.so
 
-all:		$(STATIC_LIB) $(SHARED_LIB)
+TARGETS = $(SHARED_LIB)
+ifeq (1,$(STATIC))
+TARGETS += $(STATIC_LIB)
+endif
+all: $(TARGETS)
+
+SOURCES = libipvs.c ip_vs_nl_policy.c
 
-$(STATIC_LIB):	libipvs.o ip_vs_nl_policy.o
+$(STATIC_LIB):	$(SOURCES:%.c=%.o)
 		ar rv $@ $^
 
-$(SHARED_LIB):	libipvs.o ip_vs_nl_policy.o
-		$(CC) -shared -Wl,-soname,$@ -o $@ $^
+$(SHARED_LIB):	$(SOURCES:%.c=%.lo)
+		$(CC) $(LDFLAGS) -shared -Wl,-soname,$@ -o $@ $^
+
+%.lo:		%.c
+		$(CC) -fPIC $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
 
 %.o:		%.c
-		$(CC) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
+		$(CC) $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
 
 clean:
-		rm -f *.[ao] *~ *.orig *.rej core *.so
+		rm -f *.[ao] *~ *.orig *.rej core *.so *.lo
 
 distclean:	clean
diff -Nuar -Nuar --exclude '*.orig' --exclude '*.rej' ipvsadm-1.27.orig/Makefile ipvsadm-1.27/Makefile
--- ipvsadm-1.27.orig/Makefile	2013-11-01 23:49:36.523225124 -0700
+++ ipvsadm-1.27/Makefile	2013-11-01 23:49:09.478738760 -0700
@@ -43,14 +43,13 @@
 INIT		= $(BUILD_ROOT)/etc/rc.d/init.d
 MKDIR		= mkdir
 INSTALL		= install
-STATIC_LIBS	= libipvs/libipvs.a
 
 ifeq "${ARCH}" "sparc64"
-    CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -m64 -pipe -mcpu=ultrasparc -mcmodel=medlow
+    CFLAGS := -g -m64 -pipe -mcpu=ultrasparc -mcmodel=medlow
 else
-    CFLAGS = -Wall -Wunused -Wstrict-prototypes -g
+    CFLAGS := -g
 endif
-
+OPTFLAGS += -Wall -Wunused -Wstrict-prototypes
 
 #####################################
 # No servicable parts below this line
@@ -84,12 +83,14 @@
 all:            libs ipvsadm
 
 libs:
-		make -C libipvs
+		$(MAKE) -C libipvs CFLAGS="$(CFLAGS)" STATIC="$(STATIC)" OPTFLAGS="$(OPTFLAGS)"
+
+$(OBJS):	libs
 
-ipvsadm:	$(OBJS) $(STATIC_LIBS)
-		$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
+ipvsadm:	$(OBJS)
+		$(CC) $(LDFLAGS) $(OPTFLAGS) $(CFLAGS) -o $@ $^ -Llibipvs -lipvs $(LIBS)
 
-install:        all
+install:	all
 		if [ ! -d $(SBIN) ]; then $(MKDIR) -p $(SBIN); fi
 		$(INSTALL) -m 0755 ipvsadm $(SBIN)
 		$(INSTALL) -m 0755 ipvsadm-save $(SBIN)
@@ -106,7 +107,7 @@
 		rm -rf debian/tmp
 		find . -name '*.[ao]' -o -name "*~" -o -name "*.orig" \
 		  -o -name "*.rej" -o -name core | xargs rm -f
-		make -C libipvs clean
+		$(MAKE) -C libipvs clean
 
 distclean:	clean
 
@@ -139,4 +140,4 @@
 		dpkg-buildpackage
 
 %.o:	%.c
-		$(CC) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
+		$(CC) $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<