# The LearningOnline Network with CAPA # Makefile for CAPA 5.1 # # $Id: Makefile,v 1.8 2005/06/30 15:32:29 albertel Exp $ # # Copyright Michigan State University Board of Trustees # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). # # LON-CAPA is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # LON-CAPA is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with LON-CAPA; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # /home/httpd/html/adm/gpl.txt # # http://www.lon-capa.org/ # VER = 5.1 BUGFIX = 0 #CC = i486-linuxlibc1-gcc -DCAPA_VER=\"$(VER).$(BUGFIX)\" -DCOMPILE_DATE=\"`date +'%b-%d-%Y'`\" CC = cc -DCAPA_VER=\"$(VER).$(BUGFIX)\" -DCOMPILE_DATE=\"`date +'%b-%d-%Y-%H:%M'`\" DEF = -DUSE_DYNAMIC_SYMBOLS -D_GNU_SOURCE#-DLEX_DBUG CFLAG = -g -Wall LEX = flex -Cfa -s YACC = bison AR = ar MV = mv RM = rm STRIP = echo #STRIP = strip LEXFLAG = -v # OSF1, SunOS, Linux, NEXTSTEP, HP-UX, IRIX ARCH = $(shell uname) Linux = /usr/lib/libncurses.a P_FLAGS = -lfl -lm S_FLAGS = $($(ARCH)) $(P_FLAGS) OSF1FLAG = -O3 -Olimit 2048 #ARCH = $(shell uname) # Architecture speicifc subdirectory # output from uname command # # Architectural note: # on NeXT compiling libcapa after the final step, # ranlib libcapa4.5.a # # HP-UX # alloca() could not linked by ld # file capaParserFun.c contains alloca definition # add and after __hpux # gmake is not available on HP-UX DECS PAR_SRC = capaCommon.c capaFunction.c capaParserFun.c capaLexerFun.c PAR_OBJ = $(PAR_SRC:.c=.o) ARCH_OBJ = $(ARCH)/capaCommon.o $(ARCH)/capaLexerFun.o \ $(ARCH)/capaParserFun.o ## =================================================================== # conditional macros in alpha # # libcapa:=MACRO=string convert: $(ARCH) $(ARCH)/convert true all: $(ARCH) $(ARCH)libcapa($VER).a $(ARCH)/convert $(ARCH): mkdir $(ARCH) dmalloc: $(MAKE) DEF="-DDMALLOC -DDMALLOC_FUNC_CHECK $(DEF)" P_FLAGS="-ldmalloc $(P_FLAGS)" libcapa convert $(ARCH)/libcapa$(VER).a: $(ARCH_OBJ) $(AR) r $(ARCH)/libcapa$(VER).a $(ARCH_OBJ) binclean: $(RM) $(ARCH)/*.o $(ARCH)/*.a $(ARCH)/%.o: %.c capaCommon.h capaToken.h Makefile $(CC) $(CFLAG) -c $< -o $@ $(DEF) $(ARCH)/convert: $(ARCH)/libcapa$(VER).a $(ARCH)/convert.o $(CC) $(CFLAG) $(DEF) -o $@ $(ARCH)/convert.o -L$(ARCH) -lcapa$(VER) $(P_FLAGS) capaToken.h: capaParserFun.c capaParserFun.c: capaGrammarDef.y $(YACC) -d $< --output=$@ mv capaParserFun.h capaToken.h capaLexerFun.c: capaLexerDef.flex capaToken.h $(LEX) -o$@ $< clean: rm -f $(ARCH)/*.o rm -f $(ARCH)/libcapa$(VER).a rm -f capaToken.h rm -f capaParserFun.c rm -f capaLexerFun.c