# ==================================================================
# 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 -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 = -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 <stdlib.h> and <alloca.h> 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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>