Annotation of loncom/homework/CAPA-converter/Makefile, revision 1.2
1.1 albertel 1: # ==================================================================
2: # Makefile for CAPA 5.1
3: # ==================================================================
4:
5: VER = 5.1
6: BUGFIX = 0
7: #CC = i486-linuxlibc1-gcc -DCAPA_VER=\"$(VER).$(BUGFIX)\" -DCOMPILE_DATE=\"`date +'%b-%d-%Y'`\"
8: CC = cc -DCAPA_VER=\"$(VER).$(BUGFIX)\" -DCOMPILE_DATE=\"`date +'%b-%d-%Y-%H:%M'`\"
9: DEF = -DUSE_DYNAMIC_SYMBOLS
10: CFLAG = -g -Wall
11: LEX = flex -Cfa -s
12: YACC = bison
13: AR = ar
14: MV = mv
15: RM = rm
16: STRIP = echo
17: #STRIP = strip
18: LEXFLAG = -v
19:
20: # OSF1, SunOS, Linux, NEXTSTEP, HP-UX, IRIX
21:
22: ARCH = $(shell uname)
23: Linux = /usr/lib/libncurses.a
24:
25: P_FLAGS = -ll -lm
26:
27: S_FLAGS = $($(ARCH)) $(P_FLAGS)
28:
29: OSF1FLAG = -O3 -Olimit 2048
30:
31: #ARCH = $(shell uname)
32: # Architecture speicifc subdirectory
33: # output from uname command
34: #
35: # Architectural note:
36: # on NeXT compiling libcapa after the final step,
37: # ranlib libcapa4.5.a
38: #
39: # HP-UX
40: # alloca() could not linked by ld
41: # file capaParserFun.c contains alloca definition
42: # add <stdlib.h> and <alloca.h> after __hpux
43: # gmake is not available on HP-UX DECS
44:
45: PAR_SRC = capaCommon.c capaFunction.c capaParserFun.c capaLexerFun.c
46:
47: PAR_OBJ = $(PAR_SRC:.c=.o)
48:
49: ARCH_OBJ = $(ARCH)/capaCommon.o $(ARCH)/capaLexerFun.o \
50: $(ARCH)/capaParserFun.o
51: ## ===================================================================
52:
53: # conditional macros in alpha
54: #
55: # libcapa:=MACRO=string
56:
57:
1.2 ! albertel 58: convert: $(ARCH)/convert
1.1 albertel 59: echo done
60:
1.2 ! albertel 61: all: $(ARCH)libcapa($VER).a $(ARCH)/convert
1.1 albertel 62:
63: dmalloc:
1.2 ! albertel 64: $(MAKE) DEF="-DDMALLOC -DDMALLOC_FUNC_CHECK $(DEF)" P_FLAGS="-ldmalloc $(P_FLAGS)" libcapa convert
1.1 albertel 65:
66: $(ARCH)libcapa($VER).a: $(ARCH_OBJ)
67: $(AR) r $(ARCH)/libcapa$(VER).a $(ARCH_OBJ)
68:
69: binclean:
70: $(RM) $(ARCH)/*.o $(ARCH)/*.a
71:
72: $(ARCH)/%.o: %.c capaToken.h
73: $(CC) $(CFLAG) -c $< -o $@ $(DEF)
74:
1.2 ! albertel 75: $(ARCH)/convert: $(ARCH)libcapa($VER).a $(ARCH)/convert.o
! 76: $(CC) $(CFLAG) $(DEF) -o $@ $(ARCH)/convert.o -L$(ARCH) -lcapa$(VER) $(P_FLAGS)
1.1 albertel 77:
78: capaToken.h: capaParserFun.c
79:
80: capaParserFun.c: capaGrammarDef.y
81: $(YACC) -d $< --output=$@
82: mv capaParserFun.h capaToken.h
83:
84: capaLexerFun.c: capaLexerDef.flex capaToken.h
85: $(LEX) -o$@ $<
86:
87: clean:
88: rm $(ARCH)/*.o
89: rm $(ARCH)/libcapa$(VER).a
90: rm capaToken.h
91: rm capaParserFun.c
92: rm capaLexerFun.c
93:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>