-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
57 lines (44 loc) · 1.96 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
CC = cc
RM = rm
ASM = nasm -fmacho64
C/Colleen/Colleen : C/Colleen/Colleen.c
$(CC) $< -o $@
C/Grace/Grace : C/Grace/Grace.c
$(CC) $< -o $@
C/Sully/Sully : C/Sully/Sully.c
$(CC) $< -o $@
asm/Colleen/Colleen : asm/Colleen/Colleen.s
$(ASM) $< && $(CC) asm/Colleen/Colleen.o -o $@
asm/Grace/Grace : asm/Grace/Grace.s
$(ASM) $< && $(CC) asm/Grace/Grace.o -o $@
asm/Sully/Sully : asm/Sully/Sully.s
$(ASM) $< && $(CC) asm/Sully/Sully.o -o $@
.DEFAULT_GOAL = all
.PHONY : all clean fclean re test
all : C/Colleen/Colleen C/Grace/Grace C/Sully/Sully asm/Colleen/Colleen asm/Grace/Grace asm/Sully/Sully
clean :
$(RM) -f C/Grace/Grace_kid.c
$(RM) -f C/Sully/Sully_*
$(RM) -f python/Grace/Grace_kid.py
$(RM) -f python/Sully/Sully_*.py
$(RM) -f asm/Colleen/Colleen.o
$(RM) -f asm/Grace/Grace.o asm/Grace/Grace_kid.s
$(RM) -f asm/Sully/Sully.o asm/Sully/Sully_*
fclean : clean
$(RM) -f C/Colleen/Colleen
$(RM) -f C/Grace/Grace
$(RM) -f C/Sully/Sully
$(RM) -f asm/Colleen/Colleen
$(RM) -f asm/Grace/Grace
$(RM) -f asm/Sully/Sully
re : fclean all
test : all
@-bash -c 'diff C/Colleen/Colleen.c <(C/Colleen/Colleen) && echo -e "C/Colleen:\tOK"'
@-(cd C/Grace && ./Grace) && diff C/Grace/Grace.c C/Grace/Grace_kid.c && echo "C/Grace:\tOK"
@-echo "C/Sully:\tNA\n" && (cd C/Sully && ./Sully) && diff C/Sully/Sully.c C/Sully/Sully_3.c || true
@-bash -c 'diff python/Colleen/Colleen.py <(python/Colleen/Colleen.py) && echo -e "\npy/Colleen:\tOK"'
@-(cd python/Grace && ./Grace.py) && diff python/Grace/Grace.py python/Grace/Grace_kid.py && echo "py/Grace:\tOK"
@-echo "py/Sully:\tNA\n" && (cd python/Sully && ./Sully.py) && diff python/Sully/Sully.py python/Sully/Sully_3.py || true
@-bash -c 'diff asm/Colleen/Colleen.s <(asm/Colleen/Colleen) && echo -e "\nasm/Colleen:\tOK"'
@-(cd asm/Grace && ./Grace) && diff asm/Grace/Grace.s asm/Grace/Grace_kid.s && echo "asm/Grace:\tOK"
@-echo "asm/Sully:\tNA\n" && (cd asm/Sully && ./Sully) && diff asm/Sully/Sully.s asm/Sully/Sully_3.s || true