=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/Makefile.in,v retrieving revision 1.6 retrieving revision 1.7 diff -u -p -r1.6 -r1.7 --- OpenXM/src/kan96xx/Kan/Makefile.in 2003/07/21 13:36:41 1.6 +++ OpenXM/src/kan96xx/Kan/Makefile.in 2003/09/02 03:24:48 1.7 @@ -1,88 +1,48 @@ -### $OpenXM: OpenXM/src/kan96xx/Kan/Makefile.in,v 1.5 2003/07/21 12:41:24 takayama Exp $ -all : sm1 +### $OpenXM: OpenXM/src/kan96xx/Kan/Makefile.in,v 1.6 2003/07/21 13:36:41 takayama Exp $ +# +# depends on install-gmp, install-gc [install-asir-gc] +# ( cd ../plugin ; make ) +# +all : configure sm1 # .SUFFIXES: ########################## configuration ############################## -TOPDIR=../../../../OpenXM -OpenXM_HOME=${TOPDIR} -OpenXM_include=$(OpenXM_HOME)/include -OpenXM_lib=$(OpenXM_HOME)/lib -#### What C compiler do you use? -CC = gcc -#### Gargabe collector? If GC = nogc.c, then you need to define -DNOGC. -GC = $(OpenXM_HOME)/lib/libgc.a +OpenXM_HOME=../../.. +OpenXM_include=${OpenXM_HOME}/include +OpenXM_lib=${OpenXM_HOME}/lib + +CC=@CC@ +RANLIB=@RANLIB@ +LIBS=@LIBS@ +LIBS2 = -L${OpenXM_lib} -lgmp -lgc -lox_pathfinder #GC = nogc.c -#### -D options -DDD = -D_BSD_SOURCE -#DDD = -DNOGC -D_BSD_SOURCE #STATIC_LINK_FLAG = -static STATIC_LINK_FLAG = #### Optimization level etc. -#CFLAGS = -#### option for gdb CFLAGS = -g -CFLAGS = -O -#### optimizer which seems not to be reliable at level 2,3 and 4. -#CFLAGS = -O -#### profiler to output mon.out -#CFLAGS = -O +#### option for gdb CFLAGS = -g, optimize -O, profile -p, -DNOGC +CFLAGS = @CFLAGS@ -D_BSD_SOURCE -GMP_HOME2 = ../../gmp -LIBGMP = @@@LIBGMP@@@ -## This line is for buggy linux-gmp. -##LIBGMP = $(GMP_HOME)/libgmp.a $(GMP_HOME)/mpn/libmpn.a -## Library you need on Solaris 2.* -SOLARISLIB = -lnsl -lsocket /usr/ucblib/libucb.a -LIBOX_PATHFINDER = -lox_pathfinder ################### Plugin modules -## Note that you need to make PLUGIN_LIB by your hand. -## Example: -## (1) -##PLUGIN = ../plugin -##PLUGIN_PROTOTYPE = $(PLUGIN)/sample.h $(PLUGIN)/graphic0.h -##PLUGIN_LIB = $(PLUGIN)/sample.a $(PLUGIN)/graphic0.a -##PLUGIN_EXT = $(PLUGIN)/sample.hh $(PLUGIN)/graphic0.hh -##PLUGIN_SM1 =$(PLUGIN)/sample.sm1 $(PLUGIN)/graphic0.sm1 -##PLUGIN_LINKFLAG = -lx11 -###### end of example. If you do not use plugins, remove the following lines -###### which starting with PLUGIN* #### (2) cmo, file2, socket -#### Note : if you change below, make the same changes at AAA. PLUGIN = ../plugin PLUGIN_PROTOTYPE = $(PLUGIN)/mathcap.h $(PLUGIN)/file2.h $(PLUGIN)/sm1Socket.h $(PLUGIN)/cmo.h $(PLUGIN)/ox.h PLUGIN_LIB = $(PLUGIN)/sm1Socket.a $(PLUGIN)/cmo.a $(PLUGIN)/file2.a $(PLUGIN)/ox.a PLUGIN_EXT = $(PLUGIN)/file2.hh $(PLUGIN)/sm1Socket.hh $(PLUGIN)/cmo.hh $(PLUGIN)/ox.hh PLUGIN_SM1 = $(PLUGIN)/sm1Socket.sm1 $(PLUGIN)/file2.sm1 $(PLUGIN)/cmo.sm1 $(PLUGIN)/oxx.sm1 PLUGIN_LINKFLAG = -#### AAA (2) cmo, file2, socket -#PLUGIN = ../plugin -#PLUGIN_PROTOTYPE = $(PLUGIN)/mathcap.h $(PLUGIN)/file2.h $(PLUGIN)/sm1Socket.h $(PLUGIN)/cmo.h $(PLUGIN)/ox.h -#PLUGIN_LIB = $(PLUGIN)/sm1Socket.a $(PLUGIN)/cmo.a $(PLUGIN)/file2.a $(PLUGIN)/ox.a -#PLUGIN_EXT = $(PLUGIN)/file2.hh $(PLUGIN)/sm1Socket.hh $(PLUGIN)/cmo.hh $(PLUGIN)/ox.hh -#PLUGIN_SM1 = $(PLUGIN)/sm1Socket.sm1 $(PLUGIN)/file2.sm1 $(PLUGIN)/cmo.sm1 $(PLUGIN)/oxx.sm1 -#PLUGIN_LINKFLAG = -#### (3) cmo only -#PLUGIN = ../plugin -#PLUGIN_PROTOTYPE = $(PLUGIN)/mathcap.h $(PLUGIN)/cmo.h -#PLUGIN_LIB = $(PLUGIN)/cmo.a -#PLUGIN_EXT = $(PLUGIN)/cmo.hh -#PLUGIN_SM1 = -#PLUGIN_LINKFLAG = -### (4) sm1 with asir, file2, socket cmo. -### You also need the special GC for asir. -#PLUGIN = ../plugin -#PLUGIN_PROTOTYPE = $(PLUGIN)/mathcap.h $(PLUGIN)/file2.h $(PLUGIN)/sample.h $(PLUGIN)/sm1Socket.h $(PLUGIN)/asir.h $(PLUGIN)/cmo.h -#PLUGIN_LIB = $(PLUGIN)/file2.a $(PLUGIN)/sample.a $(PLUGIN)/sm1Socket.a $(PLUGIN)/libasir.a $(PLUGIN)/asirconv.a $(PLUGIN)/ak.a $(PLUGIN)/cmo.a -#PLUGIN_EXT = $(PLUGIN)/file2.hh $(PLUGIN)/sample.hh $(PLUGIN)/sm1Socket.hh $(PLUGIN)/asir.hh $(PLUGIN)/cmo.hh -#PLUGIN_SM1 = $(PLUGIN)/file2.sm1 $(PLUGIN)/sample.sm1 $(PLUGIN)/sm1Socket.sm1 -#PLUGIN_LINKFLAG = -lpari -lXaw -lXmu -L/usr/X11R6/lib -lXt -lX11 -lXt -lSM -lICE -lXext -lX11 -lm ############################ end of configuration ######################## -#HEADERS = datatype.h stackm.h lookup.h extern.h kclass.h Makefile +configure: Makefile + +Makefile: Makefile.in + ./configure + + HEADERS = datatype.h stackm.h lookup.h extern.h kclass.h .c.o : - $(CC) -I$(OpenXM_include) $(CFLAGS) $(DDD) -c $< + ${CC} -I${OpenXM_include} ${CFLAGS} ${DDD} -c $< kanlibP = kanExport0.o kanExport1.o kanlibS1 = stackmachine.o @@ -95,11 +55,11 @@ kanlibKclass = Kclass/sample.o Kclass/rawcmo.o Kclass/ ##### Add also to Kclass/Makefile Kclass/sample.o : $(HEADERS) Kclass/sample.c - (cd Kclass ; make CC=$(CC) GMP_HOME2=$(GMP_HOME2) CFLAGS=$(CFLAGS) DDD=$(DDD) sample.o ) + (cd Kclass ; make CC=${CC} OpenXM_HOME=../${OpenXM_HOME} CFLAGS='${CFLAGS}' sample.o ) Kclass/rawcmo.o : $(HEADERS) Kclass/rawcmo.c - (cd Kclass ; make CC=$(CC) GMP_HOME2=$(GMP_HOME2) CFLAGS=$(CFLAGS) DDD=$(DDD) rawcmo.o ) + (cd Kclass ; make CC=${CC} OpenXM_HOME=../${OpenXM_HOME} CFLAGS='${CFLAGS}' rawcmo.o ) Kclass/indeterminate.o : $(HEADERS) Kclass/indeterminate.c - (cd Kclass ; make CC=$(CC) GMP_HOME2=$(GMP_HOME2) CFLAGS=$(CFLAGS) DDD=$(DDD) indeterminate.o ) + (cd Kclass ; make CC=${CC} OpenXM_HOME=../${OpenXM_HOME} CFLAGS='${CFLAGS}' indeterminate.o ) ###### @@ -130,18 +90,12 @@ output.o : extern2.h $(HEADERS) poly.o : extern2.h $(HEADERS) rat.o : extern2.h $(HEADERS) ext.o : extern2.h $(HEADERS) plugin.h plugin.hh +sm.o : sm.c $(HEADERS) -MSG0 = msg0.o +sm1 : sm.o $(kanlibS1) $(kanlibS2) $(kanlibS3) $(kanlibS4) $(kanlibP) $(kanlibK) $(kanlibK2) $(kanlibKclass) $(PLUGIN_LIB) + ${CC} -I${OpenXM_include} $(CFLAGS) -o sm1 sm.o $(kanlibS1) $(kanlibS2) $(kanlibS3) $(kanlibS4) $(kanlibP) $(kanlibK) $(kanlibK2) $(kanlibKclass) $(PLUGIN_LIB) $(PLUGIN_LINKFLAG) $(LIBS2) $(LIBS) -sm1 : sm.c $(kanlibS1) $(kanlibS2) $(kanlibS3) $(kanlibS4) $(kanlibP) $(kanlibK) $(kanlibK2) $(kanlibKclass) $(PLUGIN_LIB) ${GC} - if test `uname` = "SunOS" ; \ - then \ - $(CC) -I$(OpenXM_include) $(CFLAGS) $(DDD) -o sm1 sm.c $(kanlibS1) $(kanlibS2) $(kanlibS3) $(kanlibS4) $(kanlibP) $(kanlibK) $(kanlibK2) $(kanlibKclass) $(PLUGIN_LIB) $(LIBGMP) ${GC} $(PLUGIN_LINKFLAG) $(SOLARISLIB) ${LIBOX_PATHFINDER} ; \ - else \ - $(CC) ${STATIC_LINK_FLAG} -I$(OpenXM_include) $(CFLAGS) $(DDD) -o sm1 sm.c $(kanlibS1) $(kanlibS2) $(kanlibS3) $(kanlibS4) $(kanlibP) $(kanlibK) $(kanlibK2) $(kanlibKclass) $(PLUGIN_LIB) $(LIBGMP) ${GC} $(PLUGIN_LINKFLAG) ${LIBOX_PATHFINDER} ; \ - fi - $(kanlibP) : $(HEADERS) gradedset.h extern2.h $(kanlibS1) : $(HEADERS) smacro.h gradedset.h $(kanlibS2) : $(HEADERS) gradedset.h extern2.h @@ -153,12 +107,8 @@ kanlib.a : $(kanlibS1) $(kanlibS2) $(kanlibS3) $(kanli (cd plugin-tmp; /bin/rm -f *.o; ../ar-decomp $(PLUGIN_LIB) ; cp ../kanlib.o .) (cd plugin-tmp; ../ar-decomp ${OpenXM_lib}/libox_pathfinder.a) ar ru kanlib.a $(kanlibS1) $(kanlibS2) $(kanlibS3) $(kanlibS4) $(kanlibP) $(kanlibK) $(kanlibK2) $(kanlibKclass) plugin-tmp/*.o - ../gc/if_not_there ../gc/on_sparc_sunos5 ranlib kanlib.a + ${RANLIB} kanlib.a -##sm1 : sm.c kanlib.a $(GC) -## $(CC) -I$(OpenXM_include) $(CFLAGS) $(DDD) -o sm1 sm.c kanlib.a $(LIBGMP) $(GC) $(SOLARISLIB) $(PLUGIN_LINKFLAG) - - ############ smacro.h and lookup.h smacro.h : smacro.sm1 dr.sm1 module1.sm1 sugar.sm1 usage.sm1 mm $(PLUGIN_SM1) touch smacro.h @@ -175,9 +125,6 @@ mm : mm.c mklookup : mklookup.c $(CC) -I$(OpenXM_include) -o mklookup mklookup.c -############# sm1 stack machine without algebraic part. -sm00 : sm.c $(kanlibS1) $(kanlibS2) $(kanlibP) $(PLUGIN_LIB) ${GC} - $(CC) -I$(OpenXM_include) $(CFLAGS) $(DDD) -o sm00 sm.c $(kanlibS1) $(kanlibS2) $(PLUGIN_LIB) $(LIBGMP) ${GC} $(PLUGIN_LINKFLAG) $(SOLARISLIB) ############### plugins plugin.hh : Makefile $(PLUGIN_EXT) @@ -194,13 +141,7 @@ plugin.sm1 : Makefile $(PLUGIN_SM1) rm -f plugin.sm1 echo '%% Do not edit this file.' > plugin.sm1 -install-lib: kanlib.a - cp ../plugin/kancmo.h /usr/src/local/yama - cp kanlib.a /usr/src/local/yama/kanlib.a - clean : rm -f mklookup mm core sm1 lookup.h smacro.h *.o *~ *.a mon.out sm1.nogc kanlib.a plugin.h plugin.hh plugin-tmp/*.o Kclass/*.o Kclass/*~ makeconf makeconf.sed -cleana : - rm -f mklookup mm core sm1 lookup.h smacro.h *.o *~ *.a mon.out sm1.nogc kanlib.a plugin.h plugin.hh plugin-tmp/*.o Kclass/*.o Kclass/*~ makeconf makeconf.sed Makefile