diff options
| author | David Byron <dbydron@hheld.com> | 2006-08-03 07:20:12 -0500 | 
|---|---|---|
| committer | Josh Boyer <jwboyer@gmail.com> | 2006-08-03 07:20:12 -0500 | 
| commit | 3167e4e221e8d3a2b07836326283036d36a49bb2 (patch) | |
| tree | 8d9a04255f2c0a222fda2db692f63abd1be58081 /Makefile | |
| parent | 3878d8681796c49eb72a334048fbdccd3d321284 (diff) | |
Add patch from David Byron for separating source and build directories
Signed-off-by: Josh Boyer <jwboyer@gmail.com>
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 37 | 
1 files changed, 26 insertions, 11 deletions
@@ -10,7 +10,14 @@ INCLUDEDIR=/usr/include  CC := $(CROSS)gcc  CFLAGS := -I./include -O2 -Wall -TARGETS = ftl_format flash_erase flash_eraseall nanddump doc_loadbios \ +ifeq ($(origin CROSS),undefined) +  BUILDDIR := . +else +# Remove the trailing slash to make the directory name +  BUILDDIR := $(CROSS:-=) +endif + +RAWTARGETS = ftl_format flash_erase flash_eraseall nanddump doc_loadbios \  	mkfs.jffs ftl_check mkfs.jffs2 flash_lock flash_unlock flash_info \  	flash_otp_info flash_otp_dump mtd_debug flashcp nandwrite \  	jffs2dump \ @@ -18,40 +25,48 @@ TARGETS = ftl_format flash_erase flash_eraseall nanddump doc_loadbios \  	rfddump rfdformat \  	sumtool #jffs2reader +TARGETS = $(foreach target,$(RAWTARGETS),$(BUILDDIR)/$(target)) +  SYMLINKS =  %: %.o -	$(CC) $(LDFLAGS) -g -o $@ $^ +	$(CC) $(CFLAGS) $(LDFLAGS) -g -o $@ $^ -%.o: %.c -	$(CC) $(CFLAGS) -g -c -o $@ $< -g -Wp,-MD,.$<.dep +$(BUILDDIR)/%.o: %.c +	mkdir -p $(BUILDDIR) +	$(CC) $(CFLAGS) -g -c -o $@ $< -g -Wp,-MD,$(BUILDDIR)/.$(<F).dep  .SUFFIXES:  all: $(TARGETS) -IGNORE=${wildcard .*.c.dep} +IGNORE=${wildcard $(BUILDDIR)/.*.c.dep}  -include ${IGNORE}  clean: -	rm -f *.o $(TARGETS) .*.c.dep $(SYMLINKS) +	rm -f $(BUILDDIR)/*.o $(TARGETS) $(BUILDDIR)/.*.c.dep $(SYMLINKS) +	if [ "$(BUILDDIR)x" != ".x" ]; then rm -rf $(BUILDDIR); fi  $(SYMLINKS):  	ln -sf ../fs/jffs2/$@ $@ -mkfs.jffs2: crc32.o compr_rtime.o mkfs.jffs2.o compr_zlib.o compr.o +$(BUILDDIR)/mkfs.jffs2: $(BUILDDIR)/crc32.o \ +			$(BUILDDIR)/compr_rtime.o \ +			$(BUILDDIR)/mkfs.jffs2.o \ +			$(BUILDDIR)/compr_zlib.o \ +			$(BUILDDIR)/compr.o  	$(CC) $(LDFLAGS) -o $@ $^ -lz -flash_eraseall: crc32.o flash_eraseall.o +$(BUILDDIR)/flash_eraseall: $(BUILDDIR)/crc32.o $(BUILDDIR)/flash_eraseall.o  	$(CC) $(LDFLAGS) -o $@ $^ -jffs2reader: jffs2reader.o +$(BUILDDIR)/jffs2reader: $(BUILDDIR)/jffs2reader.o  	$(CC) $(LDFLAGS) -o $@ $^ -lz -jffs2dump: jffs2dump.o crc32.o +$(BUILDDIR)/jffs2dump: $(BUILDDIR)/jffs2dump.o $(BUILDDIR)/crc32.o  	$(CC) $(LDFLAGS) -o $@ $^ -sumtool: sumtool.o crc32.o +$(BUILDDIR)/sumtool: $(BUILDDIR)/sumtool.o $(BUILDDIR)/crc32.o  	$(CC) $(LDFLAGS) -o $@ $^  install: ${TARGETS}  | 
