1
0
src/Makefile

100 lines
2.4 KiB
Makefile
Raw Normal View History

2022-05-14 18:52:07 -06:00
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