svn commit: r289253 - head/share/mk

NGie Cooper yaneurabeya at gmail.com
Sat Oct 17 04:31:01 UTC 2015


> On Oct 14, 2015, at 13:16, Bryan Drewery <bdrewery at FreeBSD.org> wrote:

...

> I think what is being seen here is because I removed 'cleanobj' from
> bsd.progs.mk (in r288201) to let bsd.obj.mk handle it. It sometimes
> recurses clean when needed. If there's an obj dir 'cleanobj' will just
> remove that and avoid 'clean'.
> 
> For example (without bsd.progs.mk)
> 
> ~/svn/clean2/usr.bin/vi # make obj
> /usr/obj/root/svn/clean2/usr.bin/vi created for /root/svn/clean2/usr.bin/vi
> ===> catalog (obj)
> /usr/obj/root/svn/clean2/usr.bin/vi/catalog created for
> /root/svn/clean2/usr.bin/vi/catalog
> 
> 
> ~/svn/clean2/usr.bin/vi # make cleanobj
> ===> catalog (cleanobj)
> rm -f dump dutch english french german polish ru_RU.KOI8-R spanish
> swedish  uk_UA.KOI8-U zh_CN.GB2312 dutch.UTF-8 french.UTF-8 german.UTF-8
> polish.UTF-8 spanish.UTF-8 swedish.UTF-8 zh_CN.UTF-8 ru_RU.UTF-8
> uk_UA.UTF-8 english.base *.check __ck1 __ck2
> 
> Next call finds no obj dir and tries cleaning in local dirs:
> 
> ~/svn/clean2/usr.bin/vi # make cleanobj
> rm -f nex nvi nvi.full nvi.debug cl_funcs.o cl_main.o cl_read.o
> cl_screen.o cl_term.o conv.o cut.o delete.o encoding.o exf.o key.o
> line.o log.o main.o mark.o msg.o options.o options_f.o put.o recover.o
> screen.o search.o seq.o util.o ex.o ex_abbrev.o ex_append.o ex_args.o
> ex_argv.o ex_at.o ex_bang.o ex_cd.o ex_cmd.o ex_cscope.o ex_delete.o
> ex_display.o ex_edit.o ex_equal.o ex_file.o ex_filter.o ex_global.o
> ex_init.o ex_join.o ex_map.o ex_mark.o ex_mkexrc.o ex_move.o ex_open.o
> ex_preserve.o ex_print.o ex_put.o ex_quit.o ex_read.o ex_screen.o
> ex_script.o ex_set.o ex_shell.o ex_shift.o ex_source.o ex_stop.o
> ex_subst.o ex_tag.o ex_txt.o ex_undo.o ex_usage.o ex_util.o ex_version.o
> ex_visual.o ex_write.o ex_yank.o ex_z.o getc.o v_at.o v_ch.o v_cmd.o
> v_delete.o v_ex.o v_increment.o v_init.o v_itxt.o v_left.o v_mark.o
> v_match.o v_paragraph.o v_put.o v_redraw.o v_replace.o v_right.o
> v_screen.o v_scroll.o v_search.o v_section.o v_sentence.o v_status.o
> v_txt.o v_ulcase.o v_undo.o v_util.o v_word.o v_xchar.o v_yank.o v_z.o
> v_zexit.o vi.o vs_line.o vs_msg.o vs_refresh.o vs_relative.o vs_smap.o
> vs_split.o regcomp.o regerror.o regexec.o regfree.o vi.1.gz vi.1.cat.gz
> ===> catalog (clean)
> rm -f dump dutch english french german polish ru_RU.KOI8-R spanish
> swedish  uk_UA.KOI8-U zh_CN.GB2312 dutch.UTF-8 french.UTF-8 german.UTF-8
> polish.UTF-8 spanish.UTF-8 swedish.UTF-8 zh_CN.UTF-8 ru_RU.UTF-8
> uk_UA.UTF-8 english.base *.check __ck1 __ck2
> rm -f .depend tags
> ===> catalog (cleandepend)
> ===> catalog (cleanobj)
> rm -f dump dutch english french german polish ru_RU.KOI8-R spanish
> swedish  uk_UA.KOI8-U zh_CN.GB2312 dutch.UTF-8 french.UTF-8 german.UTF-8
> polish.UTF-8 spanish.UTF-8 swedish.UTF-8 zh_CN.UTF-8 ru_RU.UTF-8
> uk_UA.UTF-8 english.base *.check __ck1 __ck2
> 
> 
> Similar behavior will happen with bsd.progs.mk usage now. 'cleandir'
> also has this flip-flopping behavior.

That could be a part of it. Part of the other unintuitive legacy behavior for make cleandir is that you have to call it twice in order for it to completely invoke all of the clean targets that its dependent on:

$ uname -a
FreeBSD fbsd11 11.0-CURRENT FreeBSD 11.0-CURRENT #6 r288943+b94810a(isilon-atf): Tue Oct  6 14:54:34 PDT 2015     ngie at fbsd11:/usr/obj/usr/src/git/sys/GENERIC-NODEBUG  amd64
$ make cleandir
(cd /usr/src/svn/tests/sys/posixshm &&  DEPENDFILE=.depend.posixshm_test  make -f /usr/src/svn/tests/sys/posixshm/Makefile _RECURSING_PROGS=  SUBDIR= PROG=posixshm_test  cleandir)
rm -f  posixshm_test posixshm_test.o
rm -f .depend.posixshm_test GPATH GRTAGS GSYMS GTAGS
[ngie at fbsd11 /usr/src/svn/tests/sys/posixshm]$ make cleandir
(cd /usr/src/svn/tests/sys/posixshm &&  DEPENDFILE=.depend.posixshm_test  make -f Makefile _RECURSING_PROGS=  SUBDIR= PROG=posixshm_test  clean)
rm -f  posixshm_test posixshm_test.o
rm -f Kyuafile.auto Kyuafile.auto.tmp
(cd /usr/src/svn/tests/sys/posixshm &&  DEPENDFILE=.depend.posixshm_test  make -f Makefile _RECURSING_PROGS=  SUBDIR= PROG=posixshm_test  cleandepend)
rm -f .depend.posixshm_test GPATH GRTAGS GSYMS GTAGS
(cd /usr/src/svn/tests/sys/posixshm &&  DEPENDFILE=.depend.posixshm_test  make -f Makefile _RECURSING_PROGS=  SUBDIR= PROG=posixshm_test  cleandir)
rm -f  posixshm_test posixshm_test.o
rm -f .depend.posixshm_test GPATH GRTAGS GSYMS GTAGS

This might be some of what you were observing above. It looks better now after the last few days, but it was definitely less functional on head between the 12th and now on head.

Thanks!
-NGie


More information about the svn-src-all mailing list