File:  [LON-CAPA] / loncom / homework / CAPA-converter / Makefile
Revision 1.4: download - view: text, annotated - select for diffs
Mon May 15 20:33:33 2000 UTC (23 years, 11 months ago) by albertel
Branches: MAIN
CVS tags: HEAD
- supports text lines and formatted emebbed /DIS
- combines sections of <block> and <script>
- properly parenthesises objects
- <import>

# ==================================================================
#     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)/convert
	echo done

all: $(ARCH)libcapa($VER).a $(ARCH)/convert

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 capaToken.h
	$(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 $(ARCH)/*.o
	rm $(ARCH)/libcapa$(VER).a
	rm capaToken.h
	rm capaParserFun.c
	rm capaLexerFun.c


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>