File:  [LON-CAPA] / loncom / homework / CAPA-converter / Makefile
Revision 1.8: download - view: text, annotated - select for diffs
Thu Jun 30 15:32:29 2005 UTC (19 years, 6 months ago) by albertel
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_12_X, version_2_11_X, version_2_11_5_msu, version_2_11_5, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, bz6209-base, bz6209, bz5969, bz2851, PRINT_INCOMPLETE_base, PRINT_INCOMPLETE, HEAD, GCI_3, GCI_2, GCI_1, BZ5971-printing-apage, BZ5434-fox, BZ4492-merge, BZ4492-feature_horizontal_radioresponse, BZ4492-feature_Support_horizontal_radioresponse, BZ4492-Support_horizontal_radioresponse
- switch to inking against flex's library

# 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 <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>