# ================================================================== # Makefile for CAPA 5.1 # ================================================================== 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 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 = -ll -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 answers: $(ARCH)/answers echo done all: $(ARCH)libcapa($VER).a $(ARCH)/answers dmalloc: $(MAKE) DEF="-DDMALLOC -DDMALLOC_FUNC_CHECK $(DEF)" P_FLAGS="-ldmalloc $(P_FLAGS)" libcapa answers $(ARCH)libcapa($VER).a: $(ARCH_OBJ) $(AR) r $(ARCH)/libcapa$(VER).a $(ARCH_OBJ) binclean: $(RM) $(ARCH)/*.o $(ARCH)/*.a $(ARCH)/%.o: %.c capaToken.h $(CC) $(CFLAG) -c $< -o $@ $(DEF) $(ARCH)/answers: $(ARCH)libcapa($VER).a $(ARCH)/answers.o $(CC) $(CFLAG) $(DEF) -o $@ $(ARCH)/answers.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 $(ARCH)/*.o rm $(ARCH)/libcapa$(VER).a rm capaToken.h rm capaParserFun.c rm capaLexerFun.c