diff options
author | Diego Pettenò <flameeyes@gentoo.org> | 2008-10-22 15:31:05 +0000 |
---|---|---|
committer | Diego Pettenò <flameeyes@gentoo.org> | 2008-10-22 15:31:05 +0000 |
commit | 3d86221dd0c83a09c9bbed4c395852816e26b061 (patch) | |
tree | b20e8380ffa622778372e59b18d266d84cf3f9dd /Makefile | |
parent | Add scanmacho to the list of ignored files. (diff) | |
download | pax-utils-3d86221dd0c83a09c9bbed4c395852816e26b061.tar.gz pax-utils-3d86221dd0c83a09c9bbed4c395852816e26b061.tar.bz2 pax-utils-3d86221dd0c83a09c9bbed4c395852816e26b061.zip |
Improve Makefile to avoid relinking all targets when changing one tool.
With these changes, editing scanelf.c won't trigger a new build of
dumpelf and pspax, since each target depends only on those object
files it actually uses.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -1,6 +1,6 @@ # Copyright 2003-2006 Ned Ludd <solar@linbsd.net> # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-projects/pax-utils/Makefile,v 1.69 2008/09/12 19:08:52 grobian Exp $ +# $Header: /var/cvsroot/gentoo-projects/pax-utils/Makefile,v 1.70 2008/10/22 15:31:05 flameeyes Exp $ #################################################################### check_gcc=$(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \ @@ -41,12 +41,12 @@ endif #################################################################### ELF_TARGETS = scanelf dumpelf $(shell echo | $(CC) -dM -E - | grep -q __svr4__ || echo pspax) -ELF_OBJS = $(ELF_TARGETS:%=%.o) paxelf.o +ELF_OBJS = paxelf.o MACH_TARGETS = scanmacho -MACH_OBJS = $(MACH_TARGETS:%=%.o) paxmacho.o +MACH_OBJS = paxmacho.o COMMON_OBJS = paxinc.o xfuncs.o -OBJS = $(ELF_OBJS) $(MACH_OBJS) $(COMMON_OBJS) TARGETS = $(ELF_TARGETS) $(MACH_TARGETS) +OBJS = $(ELF_OBJS) $(MACH_OBJS) $(COMMON_OBJS) $(TARGETS:%=%.o) MPAGES = $(TARGETS:%=man/%.1) SOURCES = $(OBJS:%.o=%.c) @@ -71,11 +71,11 @@ ifeq ($(V),) endif $(Q)$(compile.c) $(WFLAGS) -$(ELF_TARGETS): $(ELF_OBJS) $(COMMON_OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) $(COMMON_OBJS) paxelf.o -o $@ $@.o $(LIBS) $(LIBS-$@) +$(ELF_TARGETS): %: $(ELF_OBJS) $(COMMON_OBJS) %.o + $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS) $(LIBS-$@) -$(MACH_TARGETS): $(MACH_OBJS) $(COMMON_OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) $(COMMON_OBJS) paxmacho.o -o $@ $@.o $(LIBS) $(LIBS-$@) +$(MACH_TARGETS): %: $(MACH_OBJS) $(COMMON_OBJS) %.o + $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBS) $(LIBS-$@) %.so: %.c $(CC) -shared -fPIC -o $@ $< |