DIRS := nfq tpws ip2net mdig DIRS_MAC := tpws ip2net mdig TGT := binaries/my all: clean @mkdir -p "$(TGT)"; \ for dir in $(DIRS); do \ find "$$dir" -type f \( -name "*.c" -o -name "*.h" -o -name "*akefile" \) -exec chmod -x {} \; ; \ $(MAKE) -C "$$dir" || exit; \ for exe in "$$dir/"*; do \ if [ -f "$$exe" ] && [ -x "$$exe" ]; then \ mv -f "$$exe" "${TGT}" ; \ ln -fs "../${TGT}/$$(basename "$$exe")" "$$exe" ; \ fi \ done \ done bsd: clean @mkdir -p "$(TGT)"; \ for dir in $(DIRS); do \ find "$$dir" -type f \( -name "*.c" -o -name "*.h" -o -name "*akefile" \) -exec chmod -x {} \; ; \ $(MAKE) -C "$$dir" bsd || exit; \ for exe in "$$dir/"*; do \ if [ -f "$$exe" ] && [ -x "$$exe" ]; then \ mv -f "$$exe" "${TGT}" ; \ ln -fs "../${TGT}/$$(basename "$$exe")" "$$exe" ; \ fi \ done \ done mac: clean @mkdir -p "$(TGT)"; \ for dir in $(DIRS_MAC); do \ find "$$dir" -type f \( -name "*.c" -o -name "*.h" -o -name "*akefile" \) -exec chmod -x {} \; ; \ $(MAKE) -C "$$dir" mac || exit; \ for exe in "$$dir/"*; do \ if [ -f "$$exe" ] && [ -x "$$exe" ]; then \ mv -f "$$exe" "${TGT}" ; \ ln -fs "../${TGT}/$$(basename "$$exe")" "$$exe" ; \ fi \ done \ done clean: @[ -d "$(TGT)" ] && rm -rf "$(TGT)" ; \ for dir in $(DIRS); do \ $(MAKE) -C "$$dir" clean; \ done