all: exec1 exec2 fork1 malloc mmap prog1 prog2.o syscall exec1: exec1.c $(CC) -o $@ $< exec2: exec2.c $(CC) -o $@ $< malloc: malloc.c $(CC) -o $@ $< prog1: prog1.c $(CC) -o $@ $< prog2.o: prog2.c $(CC) -c $< syscall: syscall.S as -o syscall.o $< ld -nostdlib -o $@ syscall.o clean: $(RM) -f exec1 exec2 fork1 malloc mmap prog1 prog2.o syscall syscall.o