-
Notifications
You must be signed in to change notification settings - Fork 27
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 improvements #10
base: master
Are you sure you want to change the base?
Conversation
Makefile.gnu and Makefile.make are identical. Only keep one.
Check their status using && instead of assuming they succeed. Always execute them in a subshell. Some flavors of make allow all commands to run in the same shell.
Remove absolute paths (change /bin/rm, /bin/cp). Always echo the rm command (change -rm). Put the clean command on its own line.
On Slackware, it's customary to gzip them as part of creating the package. Doing it here isn't necessary.
$< should only be used in suffix rules. Remove the all-scripts target. Replace filenames with variables where appropriate.
Install files consistently using cp, not cp -p nor mv. Don't need to explicitly pass DESTDIR to recursive invocations.
`make touch` was roughly equivalent to `make source` followed by `make boot`, so remove it and fix up some discrepancies. Rename the boot targets to "touch" to restore the original purpose of `make touch`. New behavior: source targets build the sources that are distributed in the tarball; touch and clobber targets will touch and delete those files, respectively.
Add a PREFIX variable that can be overridden. Change default LIB directory to /usr/local/libexec/noweb. Change default MAN directory to /usr/local/share/man.
The FAQ currently can't be regenerated locally, it requires html2ascii, and also needs the original HTML located at $(HOME)/www/noweb/FAQ.html.
Needed by awkname.
Thanks for this! Long overdue. My PR workflow is embarassingly bad, and I'm teaching a large required course this term. So the PR is likely to sit until June :-( |
Any updates on this? |
Whoops. Completely dropped on the floor. The good news is I have a new workflow. The bad news is I'm back in the large required course. I'll at least put this on my laundry list, and we'll see where it goes. |
@nrnrnr Ping Also while I have your attention (and completely unrelated), do you have the NJ Machine Code Toolkit sources in a repo that could be hosted on Github? I'd hate for that project to be lost to history. |
This is a pretty big refactoring, and curating it is going to take From what I can tell, you've done all this work on spec. Absent clear About the Toolkit, I got permission from my coauthor to put it on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@turboencabulator I suggest to create another PR that just contains the target simplifications from
mytarget:
echo "goal" > mytarget
to
mytarget:
echo "goal" > $@
This would easily be reviewable (I can help) and you can get a lot of lines from this PR in with this.
@nrnrnr what do you think?
@kwk Cherry-picking 18f5b6a would cover most of those. If you review commit-by-commit instead of looking at the total difference (as Github likes to present everything) I don't think there is too much that would be objectionable. As a distro package maintainer, my main needs are adding DESTDIR support, and adding a generated version of toascii so it can successfully bootstrap when you don't have a copy of noweb installed. |
@turboencabulator I agree that 18f5b6a is the one commit I was referring to. Please make a separate PR for that so we can agree on it easily and get it merge without much hassle. I'm sorry to ask for this extra work and Github is not exactly shining when it comes to handling a series of patches.
I'm also interested in packaging (for Fedora and you?) which is why I've contacted @nrnrnr before but then had to work on something else. |
Progress sounds good! Looking forward to a smaller PR. FYI I hate the way github manages PRs, and I do as much as I can with Magit Forge. |
This was originally written by @turboencabulator and part of his PR nrnrnr#10. We firgured it is easier to review when being available as an individual commit/PR.
@kwk Thanks for taking on the $@ changes, I've been busy over the past few weeks. Planning on breaking up the rest into manageable chunks as I get a chance. BTW I'm a Slackware user. |
This was originally written by @turboencabulator and part of his PR #10. We firgured it is easier to review when being available as an individual commit/PR.
This was originally written by @turboencabulator and part of his PR nrnrnr#10. We firgured it is easier to review when being available as an individual commit/PR.
This was originally written by @turboencabulator and part of his PR nrnrnr#10. We firgured it is easier to review when being available as an individual commit/PR.
Here are several commits intended to make noweb easier to package, since it looks like very few distributions have upgraded to 2.12. Highlights:
make touch
to work as originally intended (to avoid rebuilding generated files)awkname
script (otherwise can't bootstrap by following the installation instructions)