recurse = set -e; for f in $($(1)_DIRS); do $(MAKE) -C $$f $(2); done
 
 PIC_DIRS=      iwjpictest cebpic detpic
-HOST_DIRS=     layout hostside
+HOST_DIRS=     pcb layout hostside
 
 all:
        $(call recurse,HOST,recurse)
        $(call recurse,HOST,$*)
 
 pic:
-       $(MAKE) -C layout for-pic
+       $(call recurse,HOST,for-pic)
        $(call recurse,PIC,)
 
 pic_%:
 
 
 default:       all
 recurse:       all
+for-pic:
 all:           $(TARGETS)
 
 hostside-old:  serialio.o nmra.o main.o encode.o utils.o
 
 clean:
                rm -f *.o *.d $(TARGETS) selectors.h
+               rm -f auproto-pic.h *~ core proto-expanded
 
 include $(wildcard *.d)
 
 
 default:       netlists
-
+for-pic:       netlists
 all:           default layers panel3.pcb
 
 o=>$@.new && mv -f $@.new $@
 
 clean:
                -rm -f -- *~ *.new
-               -rm -f reversers.net reversers.net-info
+               -rm -f *.hole-rep *.net *.net-info *.net-spec
+               -rm -f *.layers.dep panel3.pcb
 
 .PRECIOUS:     %.net-info %.net-spec
 .PRECIOUS:     $(OPRINTS)