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

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

Revision 1.11, Wed Mar 24 05:00:11 2021 UTC (3 years, 1 month ago) by takayama
Branch: MAIN
CVS Tags: HEAD
Changes since 1.10: +2 -2 lines

-fcommon is added.

# $OpenXM: OpenXM/src/k097/Makefile.in,v 1.11 2021/03/24 05:00:11 takayama Exp $
#
#  Depends on  all-kan96xx [source tree of kan96xx at ${Kan96xx} is required]
#              install-gmp, install-gc, install-util
# targets
#  all 
#  intall: install-exec
#  install-exec: all install-lib 
#  install-for-debug
#
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
#
BDATE =19970416
LOAD_K_PATH ='"/usr/local/lib/k0/"'
LOAD_SM1_PATH2 ='"/this_directory_does_not_exists/"'
CFLAGS= @CFLAGS@ -D_BSD_SOURCE -D_DEFAULT_SOURCE -g -DLOAD_K_PATH=${LOAD_K_PATH} -DLOAD_SM1_PATH2=${LOAD_SM1_PATH2} -fcommon
#STATIC_LINK_FLAG=-static
STATIC_LINK_FLAG=
## Kan source.  kan sources must be built up by hand.
Kan96xx=${OpenXM_HOME_debug}/src/kan96xx
MYYACC = bison
YACCPREFIX = -p KC
RM=rm
Kan96xx_Kan=${Kan96xx}/Kan
PATHFINDER=-lox_pathfinder
CC=@CC@
LIBS=@LIBS@ -L${OpenXM_lib}
# new
KANLIB_SHARED = ${Kan96xx}/Kan/kanlib.a -L${OpenXM_lib_debug} -lgmp -lgc
KANLIB_STATIC = ${Kan96xx}/Kan/kanlib.a -L${OpenXM_lib_debug} ${OpenXM_lib}/libgmp.a ${OpenXM_lib}/libgc.a -Wl,-no_pie
KANLIB=@KANLIB@

all : configure d0 k0 ox_k0
configure: Makefile

Makefile: Makefile.in
	(rm -f .configure_done ; ./make-configure)

.c.o:
	${CC}  ${CFLAGS} -I${OpenXM_include} -c  $<

d0 : simple.tab.o d.o dic.o dm.c  ${OpenXM_lib}/libox_pathfinder.a
	${CC} ${STATIC_LINK_FLAG} ${CFLAGS}  -o d0 dm.c d.o dic.o simple.tab.o ${LIBS} ${PATHFINDER}

d.o : d.c simple.tab.h Stable/sm1symbol.h
	${CC} -I${OpenXM_include} ${CFLAGS}  -o d.o -c d.c

simple.tab.o : simple.tab.c 
	${CC} ${CFLAGS}  -o simple.tab.o -c simple.tab.c

simple.tab.c : simple.y d.h
	$(MYYACC) $(YACCPREFIX) simple.y

simple.tab.h : simple.y d.h
	$(MYYACC) $(YACCPREFIX) -d simple.y

Stable/sm1symbo.h : Stable/reserved.txt
	(cd Stable; make)

clean:
	rm -f simple d0 k0 test0 *.o *~  simple.output asir-tmp.t asir-tmp.tt asir-tmp-out.t asir-tmp-out.tt k2 .*_done ox_k0
	(cd Stable; make clean)
	(cd try; make clean)
##	rm -f simple.tab.c simple.tab.h

test:   d0
	touch t.sm1
	/bin/rm t.sm1
	./d0 <test.ccc >t.sm1

slib:   d0
	touch slib.sm1
	/bin/rm slib.sm1
	./d0 -DebugMode <slib.k >slib.sm1

slib.sm1: slib.k
	make slib

####################################################################
#############    kxx main parts.
###################################################################
KXX = simple.tab.o d.o ki.o dic.o

k0:  k0.o $(KXX) ${Kan96xx_Kan}/kanlib.a ${Kan96xx_Kan}/lookup.h
	${CC} ${CFLAGS}  -I${OpenXM_include} -I${Kan96xx_Kan} -o k0 k0.o $(KXX)  ${KANLIB}

k0.o: k2.c ki.h
	${CC} -c ${CFLAGS}  -I${OpenXM_include} -I${Kan96xx_Kan} -o k0.o k2.c

ki.o: ki.c ki.h
	${CC} -c ${CFLAGS}  -I${OpenXM_include} -I${Kan96xx_Kan} -o ki.o ki.c

dic.o: dic.c d.h
	${CC} -c ${CFLAGS}   -o dic.o dic.c

${Kan96xx_Kan}/kanlib.a: ${Kan96xx_Kan}/sm1
	(cd ${Kan96xx_Kan}; make kanlib.a)

${Kan96xx_Kan}/lookup.h :
	(cd ${Kan96xx_Kan}; make lookup.h)


ox_k0: ox_k0.o k0 sm1sm.o
	${CC} ${STATIC_LINK_FLAG} ${CFLAGS}  -I${OpenXM_include} -I${Kan96xx_Kan} -o ox_k0 ox_k0.c sm1sm.c $(KXX)  ${KANLIB}
ox_k0.o: ox_k0.c ki.h ox_k0.h
sm1sm.o: sm1sm.c ox_k0.h
##########  
## A sample to compilation:  source is test0.c, output is test0
test0:  test0.c  $(KXX) ${Kan96xx_Kan}/kanlib.a ${Kan96xx_Kan}/lookup.h
	${CC} ${CFLAGS}  -I${OpenXM_include} -I${Kan96xx_Kan} -o test0 test0.c $(KXX) ${KANLIB}

clean-for-install:
	${RM} -f ${OpenXM_HOME}/bin/k0 ${OpenXM_HOME}/bin/k0.exe ${OpenXM_HOME}/bin/d0 ${OpenXM_HOME}/bin/d0.exe ${OpenXM_HOME}/bin/ox_k0 ${OpenXM_HOME}/bin/ox_k0.exe ${OpenXM_HOME}/lib/sm1/bin/ox_k0 ${OpenXM_HOME}/lib/sm1/bin/ox_k0.exe
	${RM} -f ${OpenXM_HOME_debug}/bin/k0 ${OpenXM_HOME_debug}/bin/k0.exe ${OpenXM_HOME_debug}/bin/d0 ${OpenXM_HOME_debug}/bin/d0.exe ${OpenXM_HOME_debug}/bin/ox_k0 ${OpenXM_HOME_debug}/bin/ox_k0.exe ${OpenXM_HOME_debug}/lib/sm1/bin/ox_k0 ${OpenXM_HOME_debug}/lib/sm1/bin/ox_k0.exe

install: install-exec
install-exec: all clean-for-install install-lib
	install -c -s k0  ${OpenXM_HOME}/bin
	install -c -s d0  ${OpenXM_HOME}/bin
	install -c -s ox_k0 ${OpenXM_HOME}/bin
	rm -f ${OpenXM_HOME}/lib/sm1/bin/ox_k0
	if [  "`uname | sed -e 's/_.*$$//'`" = "CYGWIN" ]; then \
	  make install-gen-link-windows ; \
	elif [  "`uname | sed -e 's/_.*$$//'`" = "MSYS" ];  then \
	  make install-gen-link-windows ; \
	else \
	  make install-gen-link ; \
	fi

install-gen-link: 
	( cd ${OpenXM_HOME}/lib/sm1/bin ; ln -s ../../../../bin/ox_k0 ox_k0)
install-gen-link-windows: 
	( cp ox_k0 ${OpenXM_HOME}/lib/sm1/bin )

install-for-debug: clean-for-install all install-lib-for-debug

	(cd ${OpenXM_HOME_debug}/bin ; ln -s ../src/k097/k0 k0)
	(cd ${OpenXM_HOME_debug}/bin ; ln -s ../src/k097/d0 d0)
	(cd ${OpenXM_HOME_debug}/bin ; ln -s ../src/k097/ox_k0 ox_k0)
	(cd ${OpenXM_HOME_debug}/lib/sm1/bin ; ln -s ../../../../src/k097/ox_k0 ox_k0)

install-lib:
	${RM} -rf ${OpenXM_lib}/k097
	mkdir ${OpenXM_lib}/k097
	cp -f ${Kan96xx}/Doc/var.sm1 ${OpenXM_lib}/k097
	cp -rf *.sm1 *.k *.kk debug lib ${OpenXM_lib}/k097

install-lib-for-debug :
	${RM} -rf ${OpenXM_lib_debug}/k097
	ln -s ../src/k097 ${OpenXM_lib_debug}/k097

distclean: clean
	rm -f .configure_done