]> git.llucax.com Git - software/dgc/cdgc.git/commitdiff
Put built stuff in a separated build directory
authorLeandro Lucarella <llucax@gmail.com>
Thu, 24 Dec 2009 23:20:57 +0000 (20:20 -0300)
committerLeandro Lucarella <llucax@gmail.com>
Thu, 24 Dec 2009 23:20:57 +0000 (20:20 -0300)
.gitignore
Makefile
cdgcrun

index 01d1dee1a3bf0375938ce2ad6e0b06f53b782267..567609b1234a9b8806c5a05da6c866e480aa148d 100644 (file)
@@ -1,2 +1 @@
-*.o
-cdgc.so
+build/
index 1868ac9e482d05cb66f06d76abfd65c7c7d93423..90a932fb6840d4e9e05c02e4469f5dad10f7cb0c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,7 @@
 
 
+# Build directory
+B := build
+
 # D compiler to use
 DC := ldc
 
 # D compiler to use
 DC := ldc
 
@@ -36,22 +39,25 @@ sources := \
        gcx.d
 
 # Default target
        gcx.d
 
 # Default target
-all: cdgc.so
+all: $B/cdgc.so
 
 # Make the GC shared object
 
 # Make the GC shared object
-cdgc.so: $(sources:.d=.o)
+$B/cdgc.so: $(patsubst %.d,$B/%.o,$(sources))
 
 
 # General pattern rules
 #######################
 
 
 
 # General pattern rules
 #######################
 
-%.so: DCFLAGS += $(DC_SO_OPT)
+$B/%.so: DCFLAGS += $(DC_SO_OPT)
 
 
-%.so:
+$B/%.so:
        $(if $V,,@echo '  $(LD) $@')
        $(if $V,,@) $(LD) $(LDFLAGS) $(LD_SO_OPT) $(LD_OUTPUT_OPTION) $^
 
        $(if $V,,@echo '  $(LD) $@')
        $(if $V,,@) $(LD) $(LDFLAGS) $(LD_SO_OPT) $(LD_OUTPUT_OPTION) $^
 
-%.o: %.d
+$B/%.o: %.d
        $(if $V,,@echo '  $(DC) $@')
        $(if $V,,@) $(DC) $(DCFLAGS) $(DC_OBJ_OPT) $(DC_OUTPUT_OPTION) $<
 
        $(if $V,,@echo '  $(DC) $@')
        $(if $V,,@) $(DC) $(DCFLAGS) $(DC_OBJ_OPT) $(DC_OUTPUT_OPTION) $<
 
+
+__dummy := $(shell mkdir -p $B)
+
diff --git a/cdgcrun b/cdgcrun
index 85a0bf7f9d88ae312bf5a2bdf59008affcca3e24..d40a69918e1ed3b13c1bca45699532bd288dd2df 100755 (executable)
--- a/cdgcrun
+++ b/cdgcrun
@@ -5,6 +5,6 @@
 #
 # To run "myprogram my arguments" using the CDGC.
 
 #
 # To run "myprogram my arguments" using the CDGC.
 
-export LD_PRELOAD=./cdgc.so
+export LD_PRELOAD=./build/cdgc.so
 
 exec "$@"
 
 exec "$@"