On 10/13/2015 4:30 PM, NGie Cooper wrote: > On Tue, Oct 13, 2015 at 3:52 PM, Bryan Drewery <bdrew...@freebsd.org> wrote: >> On 10/13/2015 3:51 PM, NGie Cooper wrote: >>> On Tue, Oct 13, 2015 at 2:19 PM, Bryan Drewery <bdrew...@freebsd.org> wrote: >>> ... >>>>>> On Oct 13, 2015, at 12:11, Bryan Drewery <bdrew...@freebsd.org> wrote: >>>>>> >>>>>> Author: bdrewery >>>>>> Date: Tue Oct 13 19:11:22 2015 >>>>>> New Revision: 289253 >>>>>> URL: https://svnweb.freebsd.org/changeset/base/289253 >>>>>> >>>>>> Log: >>>>>> bsd.subdir.mk: Handle cleanobj. >>>>>> >>>>>> Before this, the target was unknown. Now it will recurse on subdirs >>>>>> and run >>>>>> the target in the current directory. It is required to recurse as there >>>>>> may be subdirs that have objs in their directory or in the object >>>>>> directory, >>>>>> so it is not enough to just delete the objdir of the subdir parent. >>> >>> ... >>> >>>> You sent no text... >>> >>> Hit send on my phone by accident. >>> >>> make cleanobj appears broken with bsd.progs.mk (maybe related to that >>> makefile snippet). >> >> Can you elaborate? It seems fine to me. > > (cd tests; make cleandir) # does not seem to clean up everything that > was created, like before >
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. -- Regards, Bryan Drewery
signature.asc
Description: OpenPGP digital signature