[BACK]Return to Makefile.in CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Kan

File: [local] / OpenXM / src / kan96xx / Kan / Makefile.in (download)

Revision 1.27, Thu Sep 8 10:49:30 2022 UTC (20 months, 1 week ago) by takayama
Branch: MAIN
CVS Tags: HEAD
Changes since 1.26: +3 -3 lines

cmotag.htmp, lookup.h are generated by
  make gen-cmptag.htmp
  make gen-lookup.h
(They are not automatic).
The change is for the cross compiling.

###  $OpenXM: OpenXM/src/kan96xx/Kan/Makefile.in,v 1.27 2022/09/08 10:49:30 takayama Exp $
#
#   depends on install-gmp, install-gc [install-asir-gc] 
#              ( cd ../plugin ; make )
#
all : configure sm1
# .SUFFIXES:
########################## configuration ##############################
OpenXM_HOME=@prefix@
OpenXM_include=${OpenXM_HOME}/include
OpenXM_lib=${OpenXM_HOME}/lib
#
OpenXM_HOME_debug=../../..
OpenXM_include_debug=${OpenXM_HOME_debug}/include
OpenXM_lib_debug=${OpenXM_HOME_debug}/lib

AR=@AR@
CC=@CC@
RANLIB=@RANLIB@
LIBS=@LIBS@ 
LIBS2_SHARED = -L${OpenXM_lib} -lgmp -lgc -lox_pathfinder
LIBS2_STATIC = -L${OpenXM_lib} ${OpenXM_lib}/libgmp.a ${OpenXM_lib}/libgc.a -lox_pathfinder -Wl,-no_pie
LIBS2 = @LIBS2@
#GC = nogc.c
#STATIC_LINK_FLAG = -static
STATIC_LINK_FLAG = 

#### Optimization level etc.
#### option  for gdb CFLAGS = -g,   optimize -O, profile -p, -DNOGC
CFLAGS = @CFLAGS@ -D_DEFAULT_SOURCE -D_BSD_SOURCE -Wno-trigraphs -fcommon

###################  Plugin modules
####  (2) cmo, file2, socket
PLUGIN = ../plugin
TRANS = ../trans
PLUGIN_PROTOTYPE  = $(PLUGIN)/mathcap.h $(PLUGIN)/file2.h $(PLUGIN)/sm1Socket.h  $(PLUGIN)/cmo.h $(PLUGIN)/ox.h $(PLUGIN)/oxxml.h $(PLUGIN)/oxcgi.h $(TRANS)/trans.h
PLUGIN_LIB  = $(PLUGIN)/sm1Socket.a  $(PLUGIN)/cmo.a $(PLUGIN)/file2.a $(PLUGIN)/ox.a $(PLUGIN)/oxxml.a $(PLUGIN)/oxcgi.a $(TRANS)/trans.a
PLUGIN_EXT = $(PLUGIN)/file2.hh $(PLUGIN)/sm1Socket.hh $(PLUGIN)/cmo.hh  $(PLUGIN)/ox.hh $(PLUGIN)/oxxml.hh $(PLUGIN)/oxcgi.hh $(TRANS)/trans.hh
PLUGIN_SM1 = $(PLUGIN)/sm1Socket.sm1 $(PLUGIN)/file2.sm1 $(PLUGIN)/cmo.sm1 $(PLUGIN)/oxx.sm1 $(TRANS)/trans.sm1 $(TRANS)/polymake.sm1
PLUGIN_LINKFLAG = 
############################ end of configuration ########################

configure: Makefile

Makefile: Makefile.in
	sh ./configure --prefix=@prefix@


HEADERS = datatype.h  stackm.h lookup.h extern.h  kclass.h 
.c.o :
	${CC} -I${OpenXM_include} ${CFLAGS} ${DDD} -c  $<

kanlibP = kanExport0.o kanExport1.o
kanlibS1 = stackmachine.o 
kanlibS2 = scanner.o scanner2.o list.o global.o kclass.o shell.o
kanlibS3 = usage.o option.o
kanlibS4 = primitive.o
kanlibK = matrix.o poly4.o replace.o poly3.o poly3a.o poly.o output.o coeff.o order.o switch.o poly2.o parser.o parserpass0.o rat.o ext.o
kanlibK2 = gradedset.o red.o gb.o gbGM.o syz0.o redm.o sugar.o resol.o hilbert.o ecart.o
kanlibKclass = Kclass/sample.o Kclass/rawcmo.o Kclass/indeterminate.o Kclass/tree.o

##### Add also to Kclass/Makefile
Kclass/sample.o : $(HEADERS) Kclass/sample.c
	(cd Kclass ; make CC=${CC} OpenXM_HOME=@prefix@ CFLAGS='${CFLAGS}' sample.o )
Kclass/rawcmo.o : $(HEADERS) Kclass/rawcmo.c
	(cd Kclass ; make CC=${CC} OpenXM_HOME=@prefix@ CFLAGS='${CFLAGS}' rawcmo.o )
Kclass/indeterminate.o : $(HEADERS) Kclass/indeterminate.c
	(cd Kclass ; make CC=${CC} OpenXM_HOME=@prefix@ CFLAGS='${CFLAGS}' indeterminate.o )
Kclass/tree.o : $(HEADERS) Kclass/tree.c
	(cd Kclass ; make CC=${CC} OpenXM_HOME=@prefix@ CFLAGS='${CFLAGS}' tree.o )


######
redm.o : extern2.h gradedset.h $(HEADERS)
sugar.o : extern2.h gradedset.h $(HEADERS)
syz0.o : extern2.h gradedset.h $(HEADERS)
resol.o : extern2.h gradedset.h $(HEADERS)
hilbert.o : extern2.h gradedset.h $(HEADERS)
gbGM.o : extern2.h gradedset.h $(HEADERS)
gb.o : extern2.h gradedset.h $(HEADERS)
red.o : extern2.h gradedset.h $(HEADERS)
gradedset.o : extern2.h gradedset.h $(HEADERS)
ecart.o : extern2.h gradedset.h $(HEADERS)

########
matrix.o : extern2.h matrix.h $(HEADERS)
poly4.o : extern2.h matrix.h $(HEADERS)
replace3.o : extern2.h $(HEADERS)
poly3.o : extern2.h $(HEADERS)
poly3a.o : extern2.h $(HEADERS)
parserpass0.o : extern2.h $(HEADERS)
parser.o : extern2.h $(HEADERS)
poly2.o : extern2.h $(HEADERS)
switch.o : extern2.h $(HEADERS) gradedset.h
order.o : extern2.h $(HEADERS)
coeff.o : extern2.h $(HEADERS)
output.o : extern2.h $(HEADERS)
poly.o : extern2.h $(HEADERS)
rat.o : extern2.h $(HEADERS)
ext.o : extern2.h $(HEADERS) plugin.h plugin.hh Kclass/tree.hh  
sm.o : sm.c $(HEADERS)
shell.o : shell.c $(HEADERS) plugin.h

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) 


$(kanlibP) : $(HEADERS)  gradedset.h extern2.h
$(kanlibS1) : $(HEADERS) smacro.h  gradedset.h
$(kanlibS2) : $(HEADERS) gradedset.h extern2.h
$(kanlibS3) : $(HEADERS) gradedset.h extern2.h
$(kanlibS4) : $(HEADERS) gradedset.h


kanlib.a : $(kanlibS1) $(kanlibS2) $(kanlibS3) $(kanlibS4) $(kanlibP) $(kanlibK) $(kanlibK2) $(kanlibKclass) $(PLUGIN_LIB) kanlib.o ${OpenXM_lib}/libox_pathfinder.a
	(cd plugin-tmp; /bin/rm -f *.o; ../ar-decomp $(PLUGIN_LIB) ; cp ../kanlib.o .)
	(cd plugin-tmp; ../ar-decomp2 ${OpenXM_lib}/libox_pathfinder.a)
	if [ ${AR} = ar ]; then \
	ar ru kanlib.a $(kanlibS1) $(kanlibS2) $(kanlibS3) $(kanlibS4) $(kanlibP) $(kanlibK) $(kanlibK2) $(kanlibKclass) plugin-tmp/*.o ; \
	else \
	libtool -static -o kanlib.a $(kanlibS1) $(kanlibS2) $(kanlibS3) $(kanlibS4) $(kanlibP) $(kanlibK) $(kanlibK2) $(kanlibKclass) $(PLUGIN_LIB) ${OpenXM_lib}/libox_pathfinder.a ; \
	fi
	${RANLIB} kanlib.a

############ smacro.h  and lookup.h
smacro.h : smacro.sm1 dr.sm1 module1.sm1 sugar.sm1 usage.sm1 mm $(PLUGIN_SM1)
	touch smacro.h
	/bin/rm smacro.h
	cat smacro.sm1 dr.sm1 module1.sm1 sugar.sm1 usage.sm1 $(PLUGIN_SM1) | ./mm >smacro.h

gen-lookup.h : stackm.h mklookup
	touch lookup.h
	/bin/rm lookup.h
	./mklookup >lookup.h

mm : mm.c
	$(CC) -o mm mm.c
mklookup : mklookup.c
	$(CC) -I$(OpenXM_include) -o mklookup mklookup.c


############### plugins
plugin.hh  : Makefile $(PLUGIN_EXT)
	rm -f plugin.hh
	echo '/* Do not edit this file. */' > plugin.hh
	./cat0 $(PLUGIN_EXT) >>plugin.hh

plugin.h : Makefile $(PLUGIN_PROTOTYPE)
	rm -f plugin.h
	echo '/* Do not edit this file. */' > plugin.h
	./cat0 $(PLUGIN_PROTOTYPE) >>plugin.h

plugin.sm1 : Makefile $(PLUGIN_SM1)
	rm -f plugin.sm1
	echo '%% Do not edit this file.' > plugin.sm1

clean :
	rm -f mklookup mm  core sm1 smacro.h *.o *~ *.a mon.out sm1.nogc kanlib.a plugin.h plugin.hh plugin-tmp/*.o Kclass/*.o Kclass/*~ makeconf makeconf.sed
distclean : clean
	rm -f Makefile