Tup has to output its files at or below the root directory (where the .tup 
exists).  What I usually do is have it output to a build/ directory and use 
a .gitignore on build/, but you can also put tup one level higher and just 
have:

.tup
build/
src/
    < all my source files one level down >

To get Tup to behave like this, your Tupfiles will look something like:

Tuprules.tup:
    MY_ROOT = $(TUP_CWD)

: foreach *.c |> gcc -c %f -o %o |> $(MY_ROOT)/build/_obj/%B.o 
$(MY_ROOT)/<objgroup>
: $(MY_ROOT)/<objgroup> |> ld %<objgroup> -o %o |> 
$(MY_ROOT)/build/_bin/my.exe

On Thursday, February 21, 2019 at 1:28:03 AM UTC+1, [email protected] 
wrote:
>
> I've never used Tup but I like the design and approach.
>
> I like to keep build artifacts out of the source tree, to avoid .gitignore 
> and all the hazards that entails.
>
> All the examples show Tup building into the source tree. Can Tup build 
> into a completely separate directory tree from the sources?
>
>

-- 
-- 
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to