(Option 1) Cause win32.mak to print error when HOST_DC is not set#7467
(Option 1) Cause win32.mak to print error when HOST_DC is not set#7467dlang-bot merged 1 commit intodlang:masterfrom
Conversation
|
Thanks for your pull request, @marler8997! We are looking forward to reviewing it, and you should be hearing from a maintainer soon. Some tips to help speed things up:
Bear in mind that large or tricky changes may require multiple rounds of review and revision. Please see CONTRIBUTING.md for more information. Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. |
aba459d to
7aecbc3
Compare
|
See also #7256 |
853a8af to
349a34d
Compare
|
Had to make another change, it appears to be another bug in digital mars make, I had to split the |
349a34d to
bc78465
Compare
andralex
left a comment
There was a problem hiding this comment.
I'm unclear about how this works. I'd expect it would be simpler, what's with all the additional work? What does "deb" and "rel" mean? I assume "debug" and "release"? It was confusing as heck because "deb" also stands in for "debian".
| @@ -288,10 +288,18 @@ release: | |||
| $G : | |||
| if not exist "$G" mkdir $G | |||
There was a problem hiding this comment.
This has never worked well for me. I have no idea how it works for other people. Apparently the approach has issues: https://stackoverflow.com/questions/4440500/depending-on-directories-in-make
There was a problem hiding this comment.
I believe the stack overflow question you submitted is an issue with GNU make. This makefile uses Digital Mars make and I haven't seen an issue with how it handles directory dependencies.
There was a problem hiding this comment.
@andralex as I have stated on other pull requests in the past: depending on directories works only if you use them as order-only dependencies.
Anyhow DigitalMars Make so different from Make, that it shouldn't be called Make 😉
|
I'd expect it to be simpler as well, but this was the simplest I could figure out how to do. I believe my changes along with the existing complexity in the Makefile is due to limitations and bugs in Digital Mars make. |
Indeed. Please spell things out. |
|
|
a3ef9ec to
148163a
Compare
wilzbach
left a comment
There was a problem hiding this comment.
I prefer this approach over Option 2, it's a bit more DRY.
src/win32.mak
Outdated
| debdmd: check-host-dc debdmd-make | ||
|
|
||
| debdmd-make: | ||
| @echo reldmd |
There was a problem hiding this comment.
I assume you are asking why have the extra target, why not do this:
debdmd: check-host-dc
$(DMDMAKE) "OPT=" "DEBUG=-D -g -DUNITTEST" "DDEBUG=-debug -g -unittest" "DOPT=" "LFLAGS=-L/ma/co/la" $(TARGETEXE)Instead of this:
debdmd: check-host-dc debdmd-make
debdmd-make:
$(DMDMAKE) "OPT=" "DEBUG=-D -g -DUNITTEST" "DDEBUG=-debug -g -unittest" "DOPT=" "LFLAGS=-L/ma/co/la" $(TARGETEXE)The answer is because it doesn't work :) I don't know why, my guess is it's a bug in Digital Mars Make, but if you combine them into 1 statement, then make ignores the commands.
There was a problem hiding this comment.
Oh I was trying to politely ask you to remove the debugging output ;-)
I understand that DigitalMars Make is "rather rudimentary" ...
6ce9b82 to
cb482c6
Compare
cb482c6 to
424bb35
Compare
I spent way too much time on this one. The limitations of Digital Mars'
makeprogram made this one quite difficult, this is the best mechanism I could come up with to cause the make file to fail with a nice error messages whenHOST_DCis not set.