Up to [local] / src / usr.bin / make
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.12 / (download) - annotate - [select for diffs], Sun Jan 26 12:41:21 2020 UTC (4 years, 3 months ago) by espie
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE,
OPENBSD_7_5,
OPENBSD_7_4_BASE,
OPENBSD_7_4,
OPENBSD_7_3_BASE,
OPENBSD_7_3,
OPENBSD_7_2_BASE,
OPENBSD_7_2,
OPENBSD_7_1_BASE,
OPENBSD_7_1,
OPENBSD_7_0_BASE,
OPENBSD_7_0,
OPENBSD_6_9_BASE,
OPENBSD_6_9,
OPENBSD_6_8_BASE,
OPENBSD_6_8,
OPENBSD_6_7_BASE,
OPENBSD_6_7,
HEAD
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)
remove OP_* for deprecated keywords (document that :: still uses OP_INVISIBLE) okay millert@
Revision 1.11 / (download) - annotate - [select for diffs], Mon Jan 13 14:07:35 2020 UTC (4 years, 4 months ago) by espie
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored)
concept borrowed from netbsd: turns out SPECIAL_SOURCE/TARGET is no longer needed, because if we're special it's a target, if we have special_op, it's a source. There's just SPECIAL_WAIT which requires funny handling anyhow
Revision 1.10 / (download) - annotate - [select for diffs], Sat Dec 21 15:29:25 2019 UTC (4 years, 4 months ago) by espie
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)
rename a few variable/functions to have better names. adjust comments to be more meaningful reorder predecessors/successors fields in an order that makes more sense to me. okay millert@
Revision 1.9 / (download) - annotate - [select for diffs], Fri Oct 21 16:12:38 2016 UTC (7 years, 6 months ago) by espie
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE,
OPENBSD_6_6,
OPENBSD_6_5_BASE,
OPENBSD_6_5,
OPENBSD_6_4_BASE,
OPENBSD_6_4,
OPENBSD_6_3_BASE,
OPENBSD_6_3,
OPENBSD_6_2_BASE,
OPENBSD_6_2,
OPENBSD_6_1_BASE,
OPENBSD_6_1
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)
small obvious cleanups: - remove a lot of unnecessary casts - zap extra param that's no longer needed - add proper prototype and make function static okay natano@
Revision 1.8 / (download) - annotate - [select for diffs], Fri Jan 23 22:35:57 2015 UTC (9 years, 3 months ago) by espie
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE,
OPENBSD_6_0,
OPENBSD_5_9_BASE,
OPENBSD_5_9,
OPENBSD_5_8_BASE,
OPENBSD_5_8,
OPENBSD_5_7_BASE,
OPENBSD_5_7
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)
a wee little bit more cleanup (more const and remove noise from CDIAGFLAGS... -pedantic kind of requires -std=c99 here to avoid LL warnings) okay miod@, millert@
Revision 1.7 / (download) - annotate - [select for diffs], Fri Jan 23 13:18:40 2015 UTC (9 years, 3 months ago) by espie
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)
remove a bunch of dangerous casts (useless casts from void * to something else, in some cases by adding extra temporary variables. IMO, it's much better practice to do void *a; int *p = a; *p = 42; rather than void *a; *(int *)a = 42; okay miod@... to be revisited for some possible const additions later.
Revision 1.6 / (download) - annotate - [select for diffs], Sun May 18 08:08:50 2014 UTC (10 years ago) by espie
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE,
OPENBSD_5_6
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)
a bit more reallocarray (and kill ecalloc, which isn't used) okay chl@
Revision 1.5 / (download) - annotate - [select for diffs], Wed May 22 12:14:08 2013 UTC (11 years ago) by espie
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE,
OPENBSD_5_5,
OPENBSD_5_4_BASE,
OPENBSD_5_4
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)
as checked through thorough tests, youngest->mtime == ctime, so ditch the extra field. remove some extra abstraction layer: use clock_gettime directly instead of ts_set_from_now (what is "now" anyways) time_to_string takes param by pointer rename "now" into starttime (more accurate term) randomize queue uses arc4random_uniform (prompted by deraadt@) display debug timestamp with ns too (it's debug, so it doesn't really matter whichever way it's done, as long as it's done) okay millert@
Revision 1.4 / (download) - annotate - [select for diffs], Tue Apr 23 14:32:53 2013 UTC (11 years ago) by espie
Branch: MAIN
Changes since 1.3: +5 -5 lines
Diff to previous 1.3 (colored)
remove TIMESTAMP abstraction layer, prodded by theo. while there, clean up includes. use strtoll for ar timestamps (pretty much unused in reality, more standard conforming than anything) use idea from Todd to adapt to time_t being 32 bits OR 64 bits (pedantically correct: INT_MIN would work just fine up to 1910 or so...) okay millert@, gone thru a make build.
Revision 1.3 / (download) - annotate - [select for diffs], Tue Oct 9 19:45:34 2012 UTC (11 years, 7 months ago) by espie
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE,
OPENBSD_5_3
Changes since 1.2: +2 -3 lines
Diff to previous 1.2 (colored)
- SPECIAL_DEPRECATED -> SPECIAL_NOTHING - nodes for .POSIX and .SCCS_GET (which don't do anything) - zap remaining suffix crud. new scaffolding: - groupling list and HELDBACK state to avoid races in engine. - parser recognizes lists of targets that shoul be grouped together - OP_DOUBLE to mark nodes that have multiple lists of commands
Revision 1.2 / (download) - annotate - [select for diffs], Tue Oct 2 10:29:30 2012 UTC (11 years, 7 months ago) by espie
Branch: MAIN
Changes since 1.1: +191 -4 lines
Diff to previous 1.1 (colored)
more changes, discussed and tested by various people. - put back some job control, turns out it's necessary when we don't run a shell. - zap old #ifdef CLEANUP code... probably doesn't even compile. - kill most of the OP_LIB code. Just keep a wee little bit for compatibility (deprecated .LIBS and .INCLUDES, warns for weird dependencies instead of erroring out). - much improved debugging and -p output: sort variables, targets, rules, output stuff in a nicer format mimicing input. - better error message when no command is found, explain where the target comes from. - sort final error list by file. - show system files in errors as <bsd.prog.mk> - reincorporate random delay, that was dropped - optimize siginfo output by not regenerating the whole string each time. - finish zapping old LocationInfo field that's no longer used.
Revision 1.1 / (download) - annotate - [select for diffs], Fri Sep 21 07:55:20 2012 UTC (11 years, 7 months ago) by espie
Branch: MAIN
major overhaul of the way make handle jobs, inspired by dpb: instead of forking a "job" per target, and having that job further fork separate commands, have make maintain a list of jobs, indexed by pid of currently running commands, and handle process termination continuation-style. This has lots of benefits: - make is responsible for most printing, so we no longer need pipes nor job control: make -j jobs see the tty. - no more special-casing for jobs that don't really execute anything. - unify code for make -jn and make -B, including signal handlers and job waiting. So make -n, make -q, +cmd now run commands in the same way in all cases. - unified more accurate error-reporting, as make knows precisely which command failed. Commands are tagged with their lines, and we display failing commands in silent mode. - fine-grained "expensive" command handling (recursion limiter). Do it per-command instead of per-target. Moreover, signal response is now simpler, as we just block the signals in a small critical sections, test for events, and sigpause (thanks a lot to guenther@ and millert@), so running make is now almost always paused without any busy-waiting. Thanks to everyone who tested and gave input.