CC=cc CFLAGS=-I include/ -I lib/ -Wall -Werror RM=rm -f all: libraries programs cleanall: clean cleanlibraries cleanprograms clean: $(RM) src/*.o cleanlibraries: $(RM) lib/libshell.o $(RM) lib/libstr.o cleanprograms: $(RM) bin/add $(RM) bin/cut $(RM) bin/echo $(RM) bin/eq $(RM) bin/false $(RM) bin/fdivide $(RM) bin/gt $(RM) bin/lowercase $(RM) bin/lt $(RM) bin/mm $(RM) bin/multiply $(RM) bin/nonzero $(RM) bin/simexec $(RM) bin/sleep $(RM) bin/streq $(RM) bin/stris $(RM) bin/substitute $(RM) bin/tail libraries: libshell libstr stdbool sysexits libshell: lib/libshell.c lib/libshell.h $(CC) $(CFLAGS) -o lib/libshell.o -c lib/libshell.c libstr: lib/libstr.c lib/libstr.h $(CC) $(CFLAGS) -o lib/libstr.o -c lib/libstr.c stdbool: include/stdbool.h sysexits: src/sysexits.c $(CC) $(CFLAGS) -o bin/sysexits src/sysexits.c bin/sysexits >include/sysexits.h programs: echo false nonzero simexec sleep streq stris calculate: libstr sysexits src/calculate.c $(CC) $(CFLAGS) -o src/calculate.o -c src/calculate.c $(CC) $(CFLAGS) -o bin/calculate lib/libstr.o src/calculate.o echo: sysexits src/echo.c $(CC) $(CFLAGS) -o bin/echo src/echo.c false: src/false.c $(CC) $(CFLAGS) -o bin/false src/false.c id: stdbool sysexits src/id.c $(CC) $(CFLAGS) -o bin/id src/id.c levenshtein: src/levenshtein.c $(CC) $(CFLAGS) -o bin/levenshtein src/levenshtein.c lowercase: sysexits src/lowercase.c $(CC) $(CFLAGS) -o bin/lowercase src/lowercase.c nonzero: src/nonzero.c $(CC) $(CFLAGS) -o bin/nonzero src/nonzero.c runlength: noargvzero sysexits src/runlength.c $(CC) $(CFLAGS) -o bin/runlength src/runlength.c simexec: noargvzero sysexits src/simexec.c $(CC) $(CFLAGS) -o bin/simexec src/simexec.c streq: noargvzero sysexits src/streq.c $(CC) $(CFLAGS) -o bin/streq src/streq.c stris: libstr src/stris.c $(CC) $(CFLAGS) -c -o src/stris.o src/stris.c $(CC) $(CFLAGS) -o bin/stris lib/libstr.o src/stris.o sleep: libstr noargvzero sysexits src/sleep.c $(CC) $(CFLAGS) -c -o src/sleep.o src/sleep.c $(CC) $(CFLAGS) -o bin/sleep lib/libstr.o src/sleep.o substitute: stdbool src/substitute.c $(CC) $(CFLAGS) -c -o src/substitute.o src/substitute.c $(CC) $(CFLAGS) -o bin/substitute src/substitute.o which: libshell src/which.c $(CC) $(CFLAGS) -c -o src/which.o src/which.c $(CC) $(CFLAGS) -o bin/which lib/libshell.o src/which.o .PHONY: all clean cleanlibraries cleanprograms noargvzero stdbool sysexits