File:  [LON-CAPA] / loncom / homework / CAPA-converter / Makefile
Revision 1.7: download - view: text, annotated - select for diffs
Tue Dec 4 15:17:56 2001 UTC (22 years, 5 months ago) by albertel
Branches: MAIN
CVS tags: version_1_99_1_tmcc, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_X, version_1_2_99_1, version_1_2_99_0, version_1_2_1, version_1_2_0, version_1_1_X, version_1_1_99_5, version_1_1_99_4, version_1_1_99_3, version_1_1_99_2, version_1_1_99_1, version_1_1_99_0, version_1_1_3, version_1_1_2, version_1_1_1, version_1_1_0, version_1_0_99_3, version_1_0_99_2, version_1_0_99_1, version_1_0_99, version_1_0_3, version_1_0_2, version_1_0_1, version_1_0_0, version_0_99_5, version_0_99_4, version_0_99_3, version_0_99_2, version_0_99_1, version_0_99_0, version_0_6_2, version_0_6, version_0_5_1, version_0_5, version_0_4, stable_2002_spring, stable_2002_july, stable_2002_april, stable_2001_fall, conference_2003, STABLE, HEAD
- GPL headers

# The LearningOnline Network with CAPA
#     Makefile for CAPA 5.1
#
# $Id: Makefile,v 1.7 2001/12/04 15:17:56 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 =  -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>