t3make Does Not Automatically Create Directories

Just checking: is it by design that t3make does not create directories that are specified in a project file? I know the system manual says that project files are not true build files, per se, but it seems like creating directories is still something that would be nice. (Especially given that whole power programmer thing that people are talking about.) For example, I have this makefile.t3m:

-o "build\exe\HelloWorld.t3"
-Fo "build\obj"
-Fy "build\sym"

hello.t

I like this approach because to do a ‘clean’ task I can just wipe out the build directory. Then when I run t3make again, everything would be recreated. But that doesn’t happen because the directories are not created. I understand separate compilation and the dependency mechanism that TADS uses. But Java does the same thing and yet most power programmers still run a ‘clean’ task for a totally fresh build directory.

I should add that I’m also using t3make from the command line in these situations.

So, again, just checking if this is a bug or by design.

It’s by design. That means that when you ship a game’s source code, make sure the directories exist in the ZIP/RAR/whatever.

To clean, you can do “t3make -clean”.

Sounds good; I didn’t even know about the -clean option. It does seem odd to allow the clean of directories but not the creation of them. (This would be the equivalent of an init task in Ant, I guess.) No matter, though; the fact that there’s a clean is good enough for me.

t3make doesn’t clean directories. It cleans files. It doesn’t know anything about the directories. It creates files when building, and deletes those files when doing -clean. If it would delete anything else, that would be dangerous and a source for data loss.

The directories are purely optional. If you don’t specify -Fy and -Fo options, then everything is put in the current directory.