Comments (2)
FTR:
traverse_src_tree:
@cmd /v:on /c <<treewalk.cmd
@echo off
rem !!This below fails to run without the extra shell! :-o
rem !!Also: if the env var is just called "make", the makefile gets parsed twice! :-oo
set _make_=cmd /c $(MAKE_CMD)
set srcroot_fullpath=!CD!\$(src_dir)
:: echo $(src_dir)
:: echo !srcroot_fullpath!
rem Do the root level first (-> preps!)...
rem (Note: naming a (different) target would avoid inf. recursion.)
!_make_! /c start compiling
rem Scan the source tree for sources...
for /f %%i in ('dir /s /b /a:d !srcroot_fullpath!') do (
rem It's *vital* to use a local name here, not dir (==DIR!!!):
set _dir_=%%i
set _dir_=!_dir_:%srcroot_fullpath%=!
!_make_! /c compiling DIR=!_dir_!
)
!_make_! RECURSED_FOR_FINISHING=1 finish
<<
There's no preexisting %MAKE%
, or nothing expects one either, I suppose...
Mmm... But there's $(MAKE)
! :-o
But how's that supposed to clash in that context?! And even if it does -- well, through the recursed NMAKE inheriting it! :) --, how does it end up in such a doubled processing?! Ahh, Got it: it has /f Makefile
twice on its command-line then! :-o
from nmake-jumpstart.
Except... I can't reproduce it now, even with e.g.
nmake /f Makefile RECURSING_FOR_COMPILING=1 /f Makefile out/obj/main.obj
(OK, finally could, with a brand new, almost empty makefile. :) )
from nmake-jumpstart.
Related Issues (20)
- `mk_obj_dirs` was not being processed in the Thor test! :-o
- Give the macro defs. some air, as spaces are ignored around the `=`!
- Autodetect build option changes to trigger full rebuild
- What to do with the "cmdline macros can't be modified" NMAKE lameness?
- Solve that `/` vs `\` mystery in the `objs` rule...
- Custom build options: propagate them through recursion
- Add some tests...
- Capitalize the cfg. options
- `x.cpp.tmp` still picked up as a .cpp source by nmake?! :-o
- Subproject mode, via `!include`-ing other Jumpstart makefiles
- Sync to the customized version in OON
- Investigate the space error seen with OON on GitHub!
- NG: Check regressions with spaces in dir/file paths
- Fix the dumb GH repo tagline
- NG: Test also with SFML!
- NMAKE: Cumulative target rules, even with ::, seem to kill inference rules?!
- NG: Deleting an `.ifc` doesn't trigger recomp. despite the `.ixx.ifc` inference rule
- Recompiling an .ifc doesn't trigger relinking... HOT 1
- NG: !IF [exec] + !INCLUDE instead of recursion? - Would require 2 files!
- NMAKE: inconclusive tests with inheriting cmdline macros... WTF? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nmake-jumpstart.