File:  [LON-CAPA] / loncom / homework / CAPA-converter / Makefile
Revision 1.1: download - view: text, annotated - select for diffs
Wed Apr 12 20:06:16 2000 UTC (24 years, 2 months ago) by albertel
Branches: MAIN
CVS tags: HEAD
- added CAPA-converter
- lonproblem reformatting

    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: 
   58: answers: $(ARCH)/answers
   59: 	echo done
   60: 
   61: all: $(ARCH)libcapa($VER).a $(ARCH)/answers 
   62: 
   63: dmalloc: 
   64: 	$(MAKE) DEF="-DDMALLOC -DDMALLOC_FUNC_CHECK $(DEF)" P_FLAGS="-ldmalloc $(P_FLAGS)" libcapa answers
   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: 
   75: $(ARCH)/answers: $(ARCH)libcapa($VER).a $(ARCH)/answers.o
   76: 	$(CC) $(CFLAG) $(DEF) -o $@ $(ARCH)/answers.o -L$(ARCH) -lcapa$(VER) $(P_FLAGS)
   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>