PREFIX = /usr/local all: mycan all_SRE_edited.c all_SRE_edited.h: all_SRE_edited.dbc # https://github.com/howerj/dbcc dbcc all_SRE_edited.dbc all_SRE_edited.o: all_SRE_edited.c all_SRE_edited.h cc -Wall -c $< mycan.o: mycan.c cc -Wall -c $< mycan: all_SRE_edited.o mycan.o # $^ expand to all, $< expand to first # see `info make` section "10.5.3 Automatic Variables" cc -Wall -o $@ $^ clean: rm -f mycan all_SRE_edited.o mycan.o install: all mkdir -p ${DESTDIR}${PREFIX}/bin cp -f mycan ${DESTDIR}${PREFIX}/bin uninstall: rm -f ${DESTDIR}${PREFIX}/bin/mycan .PHONY: all clean install uninstall