SHELL := /usr/bin/bash .ONESHELL: ATT = $(EXE:=.att) EXE = $(basename $(SRC)) SRC = $(wildcard *.c *.cc) CFLAGS = -g -march=native -O3 -pthread -Wall CXXFLAGS = $(CFLAGS) all: exe att: $(ATT) clean: -rm -fv $(ATT) $(EXE) core.* *~ -find -mindepth 2 -maxdepth 2 -name makefile -execdir make $@ \; exe: $(EXE) install: case $$(grep -o ^ID=.* /etc/os-release) in ID=fedora) sudo dnf -y install boost-fiber ;; ID=ubuntu) sudo apt -y install libboost-fiber ;; *) echo "Unsupported distribution" && exit 1 ;; esac trick: alarma3 coproc ./$< (sleep 3; kill -INT $${COPROC_PID}) & cat <&"$${COPROC[0]}" id: LDLIBS += -lboost_fiber %.att: % objdump -Cd $< > $@ .PHONY: all att clean exe trick