72 lines
1.9 KiB
Makefile
72 lines
1.9 KiB
Makefile
CC= gcc
|
|
CFLAGS= -Wall -g -std=gnu99
|
|
LD= gcc
|
|
LDFLAGS= -L.
|
|
TARGETS= findit
|
|
|
|
all: $(TARGETS)
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# TODO: Add rules for object files
|
|
#-------------------------------------------------------------------------------
|
|
|
|
list.o: list.c
|
|
$(CC) $(CFLAGS) -c -o list.o list.c
|
|
|
|
filter.o: filter.c
|
|
$(CC) $(CFLAGS) -c -o filter.o filter.c
|
|
|
|
findit.o: findit.c findit.h
|
|
$(CC) $(CFLAGS) -c -o findit.o findit.c
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# TODO: Add rules for executables
|
|
#-------------------------------------------------------------------------------
|
|
|
|
findit: findit.o filter.o list.o
|
|
$(LD) $(LDFLAGS) -o $@ $^
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# DO NOT MODIFY BELOW
|
|
#-------------------------------------------------------------------------------
|
|
|
|
test:
|
|
@$(MAKE) -sk test-all
|
|
|
|
test-all: test-gitignore test-list test-filter test-findit
|
|
|
|
test-gitignore:
|
|
@echo "findit" > .gitignore
|
|
@echo "*.o" >> .gitignore
|
|
@echo "*.sh" >> .gitignore
|
|
@echo "*.unit" >> .gitignore
|
|
|
|
test-list: list.unit
|
|
@curl -sLO https://www3.nd.edu/~pbui/teaching/cse.20289.sp25/static/txt/homework08/list.unit.sh
|
|
@chmod +x list.unit.sh
|
|
@./list.unit.sh
|
|
|
|
list.unit.o: list.unit.c findit.h
|
|
@$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
list.unit: list.unit.o list.o
|
|
@$(LD) $(LDFLAGS) -o $@ $^
|
|
|
|
test-filter: filter.unit
|
|
@curl -sLO https://www3.nd.edu/~pbui/teaching/cse.20289.sp25/static/txt/homework08/filter.unit.sh
|
|
@chmod +x filter.unit.sh
|
|
@./filter.unit.sh
|
|
|
|
filter.unit.o: filter.unit.c findit.h
|
|
@$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
filter.unit: filter.unit.o filter.o
|
|
@$(LD) $(LDFLAGS) -o $@ $^
|
|
|
|
test-findit: findit
|
|
@curl -sLO https://www3.nd.edu/~pbui/teaching/cse.20289.sp25/static/txt/homework08/findit.test.sh
|
|
@chmod +x findit.test.sh
|
|
@./findit.test.sh
|
|
|
|
clean:
|
|
@rm -f *.o *.sh *.unit findit
|