[PATCH] better Makefile for ebtables and arpfiles

Sven Köhler <[email protected]>
Newsgroups gmane.linux.network.bridge.ebtables.devel
Message-ID <[email protected]>
hi,

in the iptables gentoo-ebuild i saw something like

make install DESTDIR="/tmp/image" \
   LIBDIR="/usr/lib" MANDIR="/usr/share/man"

which wasn't possible with the current Makefiles of ebtables and 
arptables. So i modified them to support that syntax.

attached are the two patches against CVS HEAD. they work for me, and i 
hope they don't break anything.

my last mail "DESTDIR related patch for arptables" is obsoleted by the 
attached patch.
patch.ebtables (text/plain, 1.2 KB)
Index: Makefile
===================================================================
RCS file: /cvsroot/ebtables/ebtables2/userspace/ebtables2/Makefile,v
retrieving revision 1.28
diff -u -r1.28 Makefile
--- Makefile	10 Feb 2004 18:08:00 -0000	1.28
+++ Makefile	11 Feb 2004 18:09:56 -0000
@@ -4,8 +4,19 @@
 PROGVERSION:=2.0.7
 PROGDATE:=January\ 2004
 
-LIBDIR?=$(DESTDIR)/usr/lib/
-MANDIR?=$(DESTDIR)/usr/local/man
+# default paths
+LIBDIR:=/usr/lib/
+MANDIR:=/usr/local/man
+BINDIR:=/sbin
+ETCDIR:=/etc
+
+# include DESTDIR param
+override LIBDIR:=$(DESTDIR)$(LIBDIR)
+override MANDIR:=$(DESTDIR)$(MANDIR)
+override BINDIR:=$(DESTDIR)$(BINDIR)
+override ETCDIR:=$(DESTDIR)$(ETCDIR)
+
+
 CFLAGS:=-Wall -Wunused
 CC:=gcc
 LD:=ld
@@ -23,11 +34,10 @@
 
 KERNEL_INCLUDES?=include/
 
-ETHERTYPESPATH?=$(DESTDIR)/etc
+ETHERTYPESPATH?=$(ETCDIR)
 ETHERTYPESFILE:=$(ETHERTYPESPATH)/ethertypes
 
-BINPATH?=$(DESTDIR)/sbin/
-BINFILE:=$(BINPATH)ebtables
+BINFILE:=$(BINDIR)/ebtables
 
 PROGSPECS:=-DPROGVERSION=\"$(PROGVERSION)\" \
 	-DPROGNAME=\"$(PROGNAME)\" \
@@ -68,7 +78,7 @@
 
 .PHONY: exec
 exec: ebtables
-	mkdir -p $(BINPATH)
+	mkdir -p $(BINDIR)
 	install -m 0755 -o root -g root $< $(BINFILE)
 
 .PHONY: install
patch.arptables (text/plain, 1.6 KB)
Index: Makefile
===================================================================
RCS file: /cvsroot/ebtables/ebtables2/userspace/arptables/Makefile,v
retrieving revision 1.12
diff -u -r1.12 Makefile
--- Makefile	30 Dec 2003 17:30:24 -0000	1.12
+++ Makefile	11 Feb 2004 18:09:44 -0000
@@ -7,11 +7,18 @@
 ARPTABLES_VERSION:=0.0.3
 OLD_ARPTABLES_VERSION:=0.0.2
 
-PREFIX:=$(DESTDIR)/usr/local
+# default paths
+PREFIX:=/usr/local
 LIBDIR:=$(PREFIX)/lib
 BINDIR:=$(PREFIX)/sbin
 MANDIR:=$(PREFIX)/man
-INCDIR:=$(PREFIX)/include
+
+# include DESTDIR param
+override LIBDIR:=$(DESTDIR)$(LIBDIR)
+override MANDIR:=$(DESTDIR)$(MANDIR)
+override BINDIR:=$(DESTDIR)$(BINDIR)
+
+
 BINFILE:=$(BINDIR)/arptables
 
 # directory for new arptables releases
@@ -21,7 +28,7 @@
 CFLAGS:=$(COPT_FLAGS) -Wall -Wunused -I$(KERNEL_DIR)/include/ -Iinclude/ -DARPTABLES_VERSION=\"$(ARPTABLES_VERSION)\" #-g -DDEBUG #-pg # -DARPTC_DEBUG
 
 EXTRAS+=iptables iptables.o
-EXTRA_INSTALLS+=$(DESTDIR)$(BINDIR)/iptables $(DESTDIR)$(MANDIR)/man8/iptables.8
+EXTRA_INSTALLS+=$(BINDIR)/iptables $(MANDIR)/man8/iptables.8
 
 ifndef ARPT_LIBDIR
 ARPT_LIBDIR:=$(LIBDIR)/arptables
@@ -43,8 +50,8 @@
 arptables: arptables-standalone.o arptables.o libarptc/libarptc.o $(EXT_OBJS)
 	$(CC) $(CFLAGS)  -o $@ $^
 
-$(DESTDIR)$(BINDIR)/arptables: arptables
-	@[ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR)
+$(BINDIR)/arptables: arptables
+	mkdir -p $(BINDIR)
 	cp $< $@
 
 $(MANDIR)/man8/arptables.8: arptables.8
@@ -53,6 +60,7 @@
 
 .PHONY: exec
 exec: arptables
+	mkdir -p $(BINDIR)
 	install -m 0755 -o root -g root $< $(BINFILE)
 
 .PHONY: install
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.