Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Makefile bugs and improvements... #20

Closed
adriweb opened this issue Mar 9, 2016 · 1 comment
Closed

Makefile bugs and improvements... #20

adriweb opened this issue Mar 9, 2016 · 1 comment

Comments

@adriweb
Copy link
Member

adriweb commented Mar 9, 2016

I'd prefer having some opinions/reviews (@jacobly in particular?) before committing something or making a PR about all this...

Taking this Makefile as reference:

  • Line 28 For Mac compatibility (someone else should try...), and possibly Linux, I had to change it to: WINPATH = $(subst \,\\,$(shell winepath --windows $(1))) otherwise ZDS thought paths with slashes were switches, and with backslashes ones, it was standard escapes. Neither are what we mean.
  • Line 34 should be RM = rm --force instead, for more compatibility
  • Line 66: $(realpath .) can be simply replaced by . (well, it works fine for me anyway)
  • Lines 57, 59, 62, 67: I'm pretty sure the NATIVEPATH should be WINPATH - at least on Mac I had to replace those
  • Line 83: I guess || @$(RM) $(OBJECTS) $(TARGET).hex should not remove the objects. Probably only the .hex if you want to clean things up in case of failure
  • Line 84-85: such lines shouldn't be in the Makefile at all? (Well, maybe in the clean rule only, but they're there already)
  • Line 102: deleting $(TARGET).* is way too dangerous. If a source file has the same name as a target, for instance... $(TARGET).map $(TARGET).hex sounds a bit safer.

Also:

  • I couldn't get it to work under Linux with an apparently standard wine setup, it gave me weird paths whatever I tried, which ZDS refused...
  • ... but that's not so bad, because I can use ZDS's make.exe under wine, on which it then works fine (and only one call to wine is made, not several as it would apparently be from Linux/Mac)
  • For some reason, make -jX is now broken. When trying that (which would be greatly beneficial for multi-files projects), it errors on missing files (related to cstartup.obj, IIRC)
@mateoconlechuga
Copy link
Member

Mostly fixed with release v2.1, although make -jX will probably remain broken for a little longer. :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants