ASM = nasm CXX = gcc CXX_FLAGS = -Os -static ASM_FLAGS = -felf64 -g LINK = ld task3: task3_c.o task3.o $(CXX) -Os $^ -o $@ task3_c.o: task3.c $(CXX) -Os -c $^ -o $@ task2: task2.o $(CXX) $(CXX_FLAGS) $^ -o $@ %: %.o $(LINK) -o $@ $^ %.o: %.asm $(ASM) $(ASM_FLAGS) $^ -o $@ clean: rm -f *.o rm -f $(subst .asm, $(empty), $(wildcard *.asm))