diff --git a/base/pop/help/popc b/base/pop/help/popc index 44c8b642..1b8b014f 100644 --- a/base/pop/help/popc +++ b/base/pop/help/popc @@ -254,6 +254,10 @@ searched, i.e. disables the use of popsyslist. Produce output files in directory (can occur anywhere, and affects all following source files). + -quiet + Suppresses the popgctrace messages and inhibits the printing + of multiple file names when compiling multiple files. + -u arg-list Use Pop-11 source libraries: for each arg in arg-list, compiles diff --git a/base/pop/src/syscomp/popc_main.p b/base/pop/src/syscomp/popc_main.p index 62035182..22b4c566 100644 --- a/base/pop/src/syscomp/popc_main.p +++ b/base/pop/src/syscomp/popc_main.p @@ -1522,6 +1522,7 @@ define $-Pop$-Main(); asm_only = false, comp_only = false, l_flag = false, + q_flag = false, out_dir = false, link_args = [], wlib_create = false, @@ -1540,7 +1541,7 @@ define $-Pop$-Main(); dlocal pop_arglist, pop_file_versions = use_file_versions(), cucharout = cucharerr, - % file_create_control(dlocal_context) %, + % file_create_control(dlocal_context) % ; #_IF pop_debugging @@ -1669,8 +1670,10 @@ define $-Pop$-Main(); elseif c == "l" then ;;; list names of files compiled (now done - ;;; automatically for more than 1 file) - true -> l_flag + ;;; automatically for more than 1 file). Explicitly + ;;; clears -q_flag- if previously set. + true -> l_flag; + false -> q_flag; elseif c == "m" then ;;; define macro(s) @@ -1698,6 +1701,11 @@ define $-Pop$-Main(); ;;; no system libraries false -> syslib + elseif c == "quiet" then + ;;; Explicitly quiet, will take precedence over l_flag. + true -> q_flag; + false -> l_flag; + elseif c == "u" then ;;; use things pop11_compile(stringin(consstring(#| @@ -1757,8 +1765,16 @@ define $-Pop$-Main(); endif; %] -> inter_args; - if n_compile > 1 then true -> l_flag endif; + ;;; Reconsider the l_flag (list files) based on whether q_flag (quiet) was explicitly set. + if q_flag then + ;;; Explicit quiet takes precedence. + false -> l_flag; + false -> popgctrace; + elseif n_compile > 1 then + ;;; If q_flag not set l_flag allowed to stand. And apply this default rule. + true -> l_flag; + endif; define lconstant compile_file(source); lvars nam, a_name, o_name, w_name, source, asm_extn; diff --git a/mk_recipes/buildInplace.mk b/mk_recipes/buildInplace.mk index 58504789..24e56a72 100644 --- a/mk_recipes/buildInplace.mk +++ b/mk_recipes/buildInplace.mk @@ -112,7 +112,7 @@ SRC_WLB:=$(popobjlib)/src.wlb .proxy-wlb-objects: $(SRC_WLB_SRC) $(SRC_WLB_HEADERS) $(POPC) cd $(popsrc) rm -f $@ - $(RUN_POPC) -c -nosys $(POP_ARCH)/*.[ps] ./*.p + $(RUN_POPC) -quiet -c -nosys $(POP_ARCH)/*.[ps] ./*.p touch "$@" $(SRC_WLB): .proxy-wlb-objects $(POPLIBR) @@ -133,7 +133,7 @@ VED_WLB:=$(popobjlib)/vedsrc.wlb .proxy-ved-wlb-objects : $(VED_WLB_SRC) $(VED_WLB_HEADERS) $(POPC) cd $(usepop)/pop/ved/src rm -f $@ - $(RUN_POPC) -c -nosys -wlib \( ../../src/ \) ./*.p + $(RUN_POPC) -quiet -c -nosys -wlib \( ../../src/ \) ./*.p touch "$@" $(VED_WLB): $(popobjlib)/src.wlb .proxy-ved-wlb-objects $(POPLIBR) @@ -171,7 +171,7 @@ XSRC_WLB:=$(popobjlib)/xsrc.wlb .proxy-xsrc-wlb-objects: $(XSRC_WLB_SRC) $(XSRC_WLB_HEADERS) $(XPW_TARGET) $(POPC) cd $(usepop)/pop/x/src rm -f $@ - $(RUN_POPC) -c -nosys -wlib \( ../../src/ \) ./*.p + $(RUN_POPC) -quiet -c -nosys -wlib \( ../../src/ \) ./*.p touch "$@" $(XSRC_WLB): $(popobjlib)/src.wlb .proxy-xsrc-wlb-objects $(POPLIBR)