![]() In the end, the problem I was trying to solve seems to be niche enough to require a custom made solution. It needs improvements and cleaner comments before sharing it. It can be called from everywhere in the tree, can take several arguments if several file/folder need to be built, it doesn't require to put symlinks everywhere and I understand every line of it. Two evenings later, I had a working build.py sitting in ~/bin. I took a quick look to other build automation systems and finally decided to keep going with scripts and python but to craft everything myself instead. There are workaround but that won't work with wildcard and since I used that a lot (my tree is very dynamic, shape-shifting), I was screwed.Įvery steps of the goal I was trying to achieve with make(1) were painful and everything that make makefiles great were useless to me. Obviously since make(1) uses spaces to separate between target, he will see esa mujer.ly as two different targets esa and mujer.ly. The cleaning script worked fine with only minor manual intervention for corner cases but trying to build the whole tree crashed as soon as it tried to build a source file with spaces in name. The cleanning process and build tests worked fine on my test tree. It also reorganized the tree, created all the symlinks in the right places and edited the sources files (I know I shouldn't do that) to adapt the include to the new system. Since Shell script are still alien to me after all those years, I went with Python and managed to craft a script that spotted and removed 7 years of pdfs, midi, ps, hidden vim files. Speaking of automation, that would be the time for cleaning the mess in the source tree. When I started working again on my makefiles (see the old version above), it was to add the capability to have a centralized include folder (for code shared between a lot of sources files: layout description) and output folder (where the compiled pdfs and midi would go).Īs mentionned previously, I wanted to avoid copy/pasting the makefiles everywhere and decided to use symlinks instead that would need to be created automatically for convenience. OBJDIR, I am planning to hardcode the path in one of the "stem makefiles".Īfter improving, almost finalizing my build system, I hit a brick wall and gave up makefiles. Every others makefiles are hardlinks to those 2. In older to naively solve my problems, I attend to use 2 "stem makefiles". include instead of include? is not in the same folder as the Makefile. In a the archivers/bzip2 Makefile, I found. OBJDIR, etc.) but then the problem is only moved: how do you pass the path to every makefiles? My first idea was to include a Makefile.inc containing some variables ($MAKE. An absolute path looks dirty too but maybe that is the solution? ![]() Remember that my folder architecture have heterogeneous depths so a hardcoded relative path (. That's dirty and easily forgettable while migrating between system) export the path during login ( $ export LILYOUT=/home/funkygoby/somewhere/). ![]() ![]() My problem is to have every makefiles aware of the. Should I use hardlinks instead of copies? symlinks break (of course!) if I change folders architecture.Īs ocicat mentionned, I want an artist/album template that I can easily copy, adapt (i.e: artist/album/arrangement/) and maintain (evolve the build process)! So far (7 years):Ģ. Every makefiles will be a clone of one of those 2 "stem makefiles". )This works with my minimalist test tree. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |