| 1 |
# $Id: Makefile,v 1.1.1.1 2002/09/20 19:47:31 adcroft Exp $ |
| 2 |
# Makefile for building f90mapper. |
| 3 |
# f90mapper creates an HTML map of a set of F90 source |
| 4 |
# files. Tool reads source code and variable dictionary |
| 5 |
# to produce a hyperlinked static analysis of the code. |
| 6 |
# |
| 7 |
# Tools used to build the mapper. |
| 8 |
LEX=flex |
| 9 |
CC=gcc -g |
| 10 |
YACC=bison |
| 11 |
# Executable produced |
| 12 |
target=f90mapper |
| 13 |
# Names of components |
| 14 |
# 1. Variable dictionary parser. |
| 15 |
VD=VarDic |
| 16 |
# 2. Data dictionary manipulation routines. |
| 17 |
DD=dd |
| 18 |
# 3. F90 symbol parser. |
| 19 |
FS=F90sym |
| 20 |
# 4. F90 tree builder |
| 21 |
DB=F90db |
| 22 |
|
| 23 |
$(target): lex.$(VD).o $(VD).tab.o \ |
| 24 |
lex.$(FS).o $(FS).tab.o \ |
| 25 |
main.o $(DD).o $(DB).o makeOutputDirectories.o \ |
| 26 |
base36.o fd.o html_write.o |
| 27 |
$(CC) -o $(target) \ |
| 28 |
lex.$(VD).o $(VD).tab.o \ |
| 29 |
lex.$(FS).o $(FS).tab.o \ |
| 30 |
main.o $(DD).o $(DB).o makeOutputDirectories.o \ |
| 31 |
base36.o fd.o html_write.o \ |
| 32 |
-ll |
| 33 |
.c.o: |
| 34 |
$(CC) -c -g $< |
| 35 |
|
| 36 |
lex.$(VD).c: $(VD).lex $(VD).tab.h |
| 37 |
$(LEX) -P$(VD) $(VD).lex |
| 38 |
|
| 39 |
$(VD).tab.h $(VD).tab.c: $(VD).y |
| 40 |
$(YACC) -p $(VD) -d -t $(VD).y |
| 41 |
|
| 42 |
lex.$(FS).c: $(FS).lex $(FS).tab.h |
| 43 |
$(LEX) -P$(FS) $(FS).lex |
| 44 |
|
| 45 |
$(FS).tab.h $(FS).tab.c: $(FS).y |
| 46 |
$(YACC) -p $(FS) -d -t $(FS).y |
| 47 |
|
| 48 |
clean: |
| 49 |
rm *.o \ |
| 50 |
lex.$(VD).c $(VD).tab.h $(VD).tab.c \ |
| 51 |
lex.$(FS).c $(FS).tab.h $(FS).tab.c |
| 52 |
# DO NOT DELETE |