100 lines
2.4 KiB
Makefile
100 lines
2.4 KiB
Makefile
|
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
|