-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmakefile
More file actions
71 lines (57 loc) · 1.35 KB
/
Copy pathmakefile
File metadata and controls
71 lines (57 loc) · 1.35 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#
# Makefile for "jsparse" JavaScript Syntax Checker
#
# Part III Project at University of Southampton, UK
# Alex Walker - javascript@soton.net
#
# Follow progress at:
#
# http://www.soton.net/jssyntaxchecker
#
# Created 980225
#
LEX = lex
LEX_FLAGS =
YACC = yacc
YACC_FLAGS = -d -v
# -d flag creater header file of tokens for us
# -v flag creates y.output file for error analysis
CC = gcc
CC_FLAGS = -g -ansi -pedantic
CC_LINK_FLAGS = -lfl -o
jsparse: main.o y.tab.o lex.yy.o compile_date.o
$(CC) $(CC_FLAGS) compile_date.c main.o y.tab.o lex.yy.o $(CC_LINK_FLAGS) jsparse
rm -f compile_date.*
clean:
rm -f core
rm -f y.tab.*
rm -f y.output
rm -f lex.yy.*
rm -f *.o
rm -f compile_date.*
backup:
make clean
rm -f project.tar*
tar cf project.tar *
gzip project.tar
mv project.tar.gz ..
pastversion:
make backup
rm -rf .past_versions/`date '+%y%m%d'`
mkdir .past_versions/`date '+%y%m%d'`
cp * .past_versions/`date '+%y%m%d'`
compile_date.o:
echo "char * LAST_COMPILED_DATE = \"`date`\";" >> compile_date.c
$(CC) $(CC_FLAGS) -c compile_date.c
y.tab.c: parser.y
$(YACC) $(YACC_FLAGS) parser.y
y.tab.h: parser.y
$(YACC) $(YACC_FLAGS) parser.y
lex.yy.c: scanner.l
$(LEX) $(LEX_FLAGS) scanner.l
y.tab.o: y.tab.c
$(CC) $(CC_FLAGS) -c y.tab.c
lex.yy.o: lex.yy.c
$(CC) $(CC_FLAGS) -c lex.yy.c
main.o: main.c y.tab.h header.h
$(CC) $(CC_FLAGS) -c main.c