Makefile (clean): Have a variable for things to clean.
[preload-hacks] / Makefile
index 781b35a..519270e 100644 (file)
--- a/Makefile
+++ b/Makefile
 ### the Free Software Foundation; either version 2 of the License, or (at
 ### your option) any later version.
 ###
-### Preload-hacks distributed in the hope that it will be useful, but WITHOUT
-### ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-### FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-### more details.
+### Preload-hacks are distributed in the hope that it will be useful, but
+### WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+### Public License for more details.
 ###
 ### You should have received a copy of the GNU General Public License along
-### with mLib; if not, write to the Free Software Foundation, Inc., 59 Temple
-### Place - Suite 330, Boston, MA 02111-1307, USA.
+### with preload-hacks; if not, write to the Free Software Foundation, Inc.,
+### 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
 PACKAGE                         = preload-hacks
 VERSION                        := $(shell ./auto-version)
 
+.SECONDEXPANSION: #sorry
+
 ###--------------------------------------------------------------------------
 ### Configuration.
 
@@ -84,13 +86,15 @@ REAL_LDFLAGS                 = $(LDFLAGS) -shared
 
 ## noip
 HACKS                  += noip
-NOIP_SOURCES            = noip.c
-DISTFILES              += $(NOIP_SOURCES)
+noip_SOURCES            = noip.c
 
 ## uopen
 HACKS                  += uopen
-UOPEN_SOURCES           = uopen.c
-DISTFILES              += $(UOPEN_SOURCES)
+uopen_SOURCES           = uopen.c
+
+## Sources.
+ALL_SOURCES             = $(foreach h,$(HACKS),$($h_SOURCES))
+DISTFILES              += $(ALL_SOURCES)
 
 ## Libraries.
 LIBS                   += $(addsuffix .so, $(HACKS))
@@ -126,6 +130,7 @@ DISTFILES           += COPYING
 debpkg                  = noip uopen
 DISTFILES              += debian/changelog debian/copyright
 DISTFILES              += debian/control debian/rules debian/compat
+DISTFILES              += debian/source/format
 DISTFILES              += $(patsubst %, debian/%.install, $(debpkg))
 DISTFILES              += $(patsubst %, debian/%.lintian-overrides, \
                                $(debpkg))
@@ -136,8 +141,10 @@ DISTFILES          += $(patsubst %, debian/%.lintian-overrides, \
 all: $(TARGETS)
 .PHONY: ALL
 
+CLEAN                  += $(TARGETS)
+CLEAN                  += *.o
 clean:
-       rm -f *.o $(TARGETS)
+       rm -f $(CLEAN)
 .PHONY: clean
 
 ## Building sources.
@@ -145,9 +152,7 @@ clean:
        $(V_CC) -c $(REAL_CFLAGS) $< -o $@
 
 ## Constructing preload hacks.
-noip.so: $(patsubst %.c, %.o, $(NOIP_SOURCES))
-       $(V_LD) $(REAL_LDFLAGS) $< $(LDLIBS) -o $@
-uopen.so: $(patsubst %.c, %.o, $(UOPEN_SOURCES))
+$(addsuffix .so,$(HACKS)): %.so: $$(patsubst %.c,%.o,$$($$*_SOURCES))
        $(V_LD) $(REAL_LDFLAGS) $< $(LDLIBS) -o $@
 
 ## Constructing the scripts.