Add an option to put all output files in a given directory, similar to
what kbuild does.

Cc: Carsten Emde <c.e...@osadl.org>
Cc: David Airlie <airl...@linux.ie>
Signed-off-by: Javi Merino <javi.mer...@kernel.org>
---
 Documentation/EDID/Makefile | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/Documentation/EDID/Makefile b/Documentation/EDID/Makefile
index 17763ca..76e8ef5 100644
--- a/Documentation/EDID/Makefile
+++ b/Documentation/EDID/Makefile
@@ -1,26 +1,29 @@
 
+# use "make O=dir" to locate all output files in "dir"
+O ?= .
+
 SOURCES        := $(wildcard [0-9]*x[0-9]*.S)
 
-BIN    := $(patsubst %.S, %.bin, $(SOURCES))
+BIN    := $(patsubst %.S, $(O)/%.bin, $(SOURCES))
 
-IHEX   := $(patsubst %.S, %.bin.ihex, $(SOURCES))
+IHEX   := $(patsubst %.S, $(O)/%.bin.ihex, $(SOURCES))
 
-CODE   := $(patsubst %.S, %.c, $(SOURCES))
+CODE   := $(patsubst %.S, $(O)/%.c, $(SOURCES))
 
 all:   $(BIN) $(IHEX) $(CODE)
 
 clean:
-       @rm -f *.o *.bin.ihex *.bin *.c
+       @rm -f $(O)/*.o $(O)/*.bin.ihex $(O)/*.bin $(O)/*.c
 
-%.o:   %.S
-       @cc -c $^
+$(O)/%.o:      %.S
+       @cc -c $^ -o $@
 
-%.bin: %.o
+$(O)/%.bin:    $(O)/%.o
        @objcopy -Obinary $^ $@
 
-%.bin.ihex:    %.o
+$(O)/%.bin.ihex:       $(O)/%.o
        @objcopy -Oihex $^ $@
        @dos2unix $@ 2>/dev/null
 
-%.c:   %.bin
+$(O)/%.c:      $(O)/%.bin
        @echo "{" >$@; hexdump -f hex $^ >>$@; echo "};" >>$@
-- 
2.1.4

Reply via email to