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

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

Revision 1.19, Mon Jul 21 07:32:01 2003 UTC (20 years, 9 months ago) by takayama
Branch: MAIN
Changes since 1.18: +10 -7 lines

The new ox100 launcher ox100start replaces the old one.

##  $OpenXM: OpenXM/src/kxx/Makefile.in,v 1.19 2003/07/21 07:32:01 takayama Exp $
## Targets :  
##   all  : generates ox oxlog ox_sm1 
##   install : copy the binaries to $(OpenXM_bin),
##             remove symbolic link from $(OpenXM_lib)/sm1 to $(KANHOME)/Doc/*
##             copy $(KANHOME)/Doc/* to $(OpenXM_lib)/sm1
##             Create symbolic links in $(OpenXM_lib)/sm1/bin
##   install-for-debug :
##             Create symbolic links instead of copying.
##   install-document :
##             Nothing to do for now.
## If you change this file, do not forget to run autoconf and remove .configure_done
######### configurations.    
OpenXM_contrib=../../../OpenXM_contrib
OpenXM_ROOT=../../../OpenXM
OpenXM_bin=$(OpenXM_ROOT)/bin
OpenXM_lib=$(OpenXM_ROOT)/lib
KANHOME=$(OpenXM_ROOT)/src/kan96xx
CC=@CC@
RANLIB=@RANLIB@
LIBS=@LIBS@ 
CFLAGS = -g
DDD=-D_BSD_SOURCE
#STATIC_LINK_FLAG=-static
STATIC_LINK_FLAG=
########## end of configurations

### Set the server name in oxmain.c if you do not use the environmental
### variable LOAD_SM1_PATH.  cf. $KANHOME/lib/ox.sm1

all : configure all-plugin kanlib.a ox ox_sm1  oxlog ox100start

all2 : all-plugin kanlib.a ox ox_sm1 testclient oxlog

configure: Makefile

Makefile: Makefile.in
	./configure

# configure is added to repo for a while.
configure-old : Makefile.in configure.in
	echo "Your configure is older than Makefine.in and configure.in"
	/bin/rm -f .configure_done
	./make-configure
#	autoconf
#	.error  "Run ./make-configure"

dist : 
	./makeDist

## ox_null can no longer be compiled.

## This is the Makefile at kxx.
## 1998, 2/7  , Old version is at S/kan.backup/kxx.tar.gz.19980206
##
.c.o :
	$(CC)  $(CFLAGS) ${DDD} -c  $<

all-plugin :
	(cd $(KANHOME)/plugin ; make )
kanlib.a :
	(cd $(KANHOME)/Kan ; make kanlib.a)
ox.a : 
	/bin/rm -f ox.a
	ln -s $(KANHOME)/plugin/ox.a ox.a
ox_kan.h : $(KANHOME)/plugin/ox_kan.h
	/bin/rm -f ox_kan.h
	ln -s $(KANHOME)/plugin/ox_kan.h ox_kan.h

ox : oxmain.c $(KANHOME)/plugin/mytcpio.o $(KANHOME)/plugin/oxmisc.o file2.o ox_kan.h
	$(CC) ${STATIC_LINK_FLAG} $(CFLAGS) ${DDD} oxmain.c $(KANHOME)/plugin/mytcpio.o $(KANHOME)/plugin/oxmisc.o file2.o -o ox  $(LIBS) 

oxd : oxd.c xtag.c $(KANHOME)/plugin/mytcpio.o $(KANHOME)/plugin/oxmisc.o file2.o ox_kan.h
	$(CC)  ${STATIC_LINK_FLAG} $(CFLAGS) ${DDD} oxd.c xtag.c $(KANHOME)/plugin/mytcpio.o $(KANHOME)/plugin/oxmisc.o file2.o -o oxd  $(LIBS) 
oxd-thread : oxd-thread.c xtag.c $(KANHOME)/plugin/mytcpio.o $(KANHOME)/plugin/oxmisc.o file2.o ox_kan.h
	$(CC) -pthread ${STATIC_LINK_FLAG} $(CFLAGS) ${DDD} oxd-thread.c xtag.c $(KANHOME)/plugin/mytcpio.o $(KANHOME)/plugin/oxmisc.o file2.o -o oxd-thread  $(LIBS) 

ox_null : oxserver00.c ox.a nullstackmachine.o file2.o ox_kan.h
	$(CC)  ${STATIC_LINK_FLAG} $(CFLAGS)  ${DDD} oxserver00.c ox.a nullstackmachine.o file2.o -o ox_null  $(LIBS) ; \

ox_sm1 : oxserver00.c sm1stackmachine.o ox_kan.h ox.a $(KANHOME)/Kan/kanlib.a
	$(CC)  ${STATIC_LINK_FLAG} $(CFLAGS)  ${DDD} oxserver00.c sm1stackmachine.o -o ox_sm1  $(LIBS) $(KANLIB)

oxlog : oxlog.c
	$(CC)   ${STATIC_LINK_FLAG} ${DDD} -o oxlog oxlog.c
ox100start : ox100start.c
	$(CC)   ${STATIC_LINK_FLAG} ${DDD} -o ox100start ox100start.c


## file2.c file2.h is in SSkan/plugin/
file2.o : $(KANHOME)/plugin/file2.c  $(KANHOME)/plugin/file2.h
	$(CC) $(CFLAGS)  ${DDD} -DKXX=1 -I$(KANHOME)/plugin -c $(KANHOME)/plugin/file2.c 

nullstackmachine.o : nullstackmachine.c ox_kan.h
sm1stackmachine.o : sm1stackmachine.c  ox_kan.h

testclient : testclient.c ox.a file2.o ox_kan.h
	$(CC) $(CFLAGS)  ${DDD} testclient.c -o testclient ox.a file2.o $(LIBS)


#KANLIB = $(KANHOME)/Kan/kanlib.a $(OpenXM_lib)/libgmp.a $(KANHOME)/gmp/mpn/libmpn.a $(KANHOME)/gc/gc.a
KANLIB = $(KANHOME)/Kan/kanlib.a $(OpenXM_lib)/libgmp.a $(KANHOME)/gc/gc.a

## file2 should be linked from kanlib.a

testclient2a : testclient2.c ox.a  ox_kan.h $(KANHOME)/Kan/kanlib.a
	$(CC) $(CFLAGS)  ${DDD} -I$(KANHOME)/Kan testclient2.c ox.a  -o testclient2a  $(LIBS) $(KANLIB)

testclient2 : testclient2.c  ox_kan.h $(KANHOME)/Kan/kanlib.a ox.a
	$(CC) $(CFLAGS)  ${DDD} -I$(KANHOME)/Kan testclient2.c -o testclient2  $(LIBS) $(KANLIB)


clean : 
	-/bin/rm -f ox testclient ox_null ox_sm1 testclient2 core *.o a.out *.dvi *.aux openxxx.log  ox_sm1 oxlog *~ openxm-eg.tex openxm-jp.tex .configure_done ox100start

distclean : clean clean-for-install
	/bin/rm -f config.status config.cache config.log

## install targets.
install-for-debug : clean-for-install install_lib_bin-for-debug
	/bin/rm -f ../bin/ox ../bin/ox_sm1 ../bin/oxlog ../bin/ox100start
	ln -f -s  ../src/kxx/ox ../bin/ox
	ln -f -s  ../src/kxx/ox_sm1 ../bin/ox_sm1
	ln -f -s  ../src/kxx/oxlog ../bin/oxlog
	ln -f -s  ../src/kxx/ox100start ../bin/ox100start

install_lib_bin-for-debug :
	ln -f -s ../src/kan96xx/Doc $(OpenXM_lib)/sm1
	/bin/rm -f $(OpenXM_lib)/sm1/bin/ox*
	ln -f -s ../../../bin/ox $(OpenXM_lib)/sm1/bin/ox
	ln -f -s ../../../bin/oxlog $(OpenXM_lib)/sm1/bin/oxlog
	ln -f -s ../../../bin/ox_sm1 $(OpenXM_lib)/sm1/bin/ox_sm1
	ln -f -s ./ox_sm1 $(OpenXM_lib)/sm1/bin/ox_sm1_forAsir
	ln -f -s ./ox_sm1 $(OpenXM_lib)/sm1/bin/ox_sm1_gnuplot
	ln -f -s ./ox_sm1 $(OpenXM_lib)/sm1/bin/ox_sm1_phc
	ln -f -s ./ox_sm1 $(OpenXM_lib)/sm1/bin/ox_sm1_tigers
	ln -f -s ./ox_sm1 $(OpenXM_lib)/sm1/bin/ox_sm1_basicCD
install : copy-kan-lib install_lib_bin
	if [  "`uname | sed -e 's/_.*$$//'`" = "CYGWIN" ]; then \
	  cp -f ox.exe ox_sm1.exe oxlog.exe ox100start.exe $(OpenXM_bin) ; \
	else \
	  cp -f ox ox_sm1 oxlog ox100start $(OpenXM_bin) ; \
	fi
install_lib_bin:
	if [  "`uname | sed -e 's/_.*$$//'`" = "CYGWIN" ]; then \
	  make install_lib_bin_windows ; \
	else \
	  make install_lib_bin_unix ; \
	fi
install_lib_bin_unix : 
	/bin/rm -f $(OpenXM_lib)/sm1/bin/ox*
	ln -f -s ../../../bin/ox $(OpenXM_lib)/sm1/bin/ox
	ln -f -s ../../../bin/oxlog $(OpenXM_lib)/sm1/bin/oxlog
	ln -f -s ../../../bin/ox_sm1 $(OpenXM_lib)/sm1/bin/ox_sm1
	ln -f -s ./ox_sm1 $(OpenXM_lib)/sm1/bin/ox_sm1_forAsir
	ln -f -s ./ox_sm1 $(OpenXM_lib)/sm1/bin/ox_sm1_gnuplot
	ln -f -s ./ox_sm1 $(OpenXM_lib)/sm1/bin/ox_sm1_phc
	ln -f -s ./ox_sm1 $(OpenXM_lib)/sm1/bin/ox_sm1_tigers
	ln -f -s ./ox_sm1 $(OpenXM_lib)/sm1/bin/ox_sm1_basicCD
install_lib_bin_windows : 
	-mkdir $(OpenXM_lib)/sm1/bin
	/bin/rm -f $(OpenXM_lib)/sm1/bin/ox*
	cp ox.exe $(OpenXM_lib)/sm1/bin/ox.exe
	cp oxlog.exe $(OpenXM_lib)/sm1/bin/oxlog.exe
	cp ox_sm1.exe $(OpenXM_lib)/sm1/bin/ox_sm1.exe
	cp ox_sm1.exe $(OpenXM_lib)/sm1/bin/ox_sm1_forAsir.exe
	cp ox_sm1.exe $(OpenXM_lib)/sm1/bin/ox_sm1_gnuplot.exe
	cp ox_sm1.exe $(OpenXM_lib)/sm1/bin/ox_sm1_phc.exe
	cp ox_sm1.exe $(OpenXM_lib)/sm1/bin/ox_sm1_tigers.exe
	cp ox_sm1.exe $(OpenXM_lib)/sm1/bin/ox_sm1_basicCD.exe


# This target overrides the symbolic link 
# from $(OpenXM_ROOT)/src/kan96xx/lib to $(OpenXM_lib)/sm1
# generated in the top level Makefile
# Don't do it: cp $(OpenXM_lib)/sm1/ox-win.sm1 $(OpenXM_lib)/sm1/ox.sm1 ; 
copy-kan-lib : clean-for-install
	mkdir $(OpenXM_lib)/sm1
	touch $(OpenXM_lib)/sm1/DO_NOT_EDIT_THIS_DIRECTORY._ALL_FILES_ARE_COPIED_FROM_kan96xx_Doc
	-if [  "`uname | sed -e 's/_.*$$//'`" = "CYGWIN" ]; then \
	  cp $(KANHOME)/Doc/* $(OpenXM_lib)/sm1 ; \
	  mkdir $(OpenXM_lib)/sm1/bin ; \
	else \
	  cp -r $(KANHOME)/Doc/* $(OpenXM_lib)/sm1 ; \
	fi
	-/bin/rm -rf $(OpenXM_lib)/sm1/CVS
	-/bin/rm -f $(OpenXM_lib)/sm1/var.sm1
	cp $(KANHOME)/Kan/var.sm1 $(OpenXM_lib)/sm1
clean-for-install :
	-/bin/rm -rf $(OpenXM_lib)/sm1
	-/bin/rm -rf $(OpenXM_bin)/oxlog $(OpenXM_bin)/ox_sm1 $(OpenXM_bin)/ox   $(OpenXM_bin)/ox100start



## openxm document generation.
install-document :
	echo "Do nothing for now"

OXWEAVEFLAG=--recursive
doc:  openxxx.tex
	-/bin/rm openxm-eg.tex openxm-jp.tex
	echo "% DO NOT EDIT THIS FILE. This is automatically generated from openxxx.tex" >openxm-eg.tex
	echo "% DO NOT EDIT THIS FILE. This is automatically generated from openxxx.tex" >openxm-jp.tex
	./oxweave $(OXWEAVEFLAG) C eg <openxxx.tex >>openxm-eg.tex
	./oxweave $(OXWEAVEFLAG) C jp <openxxx.tex >>openxm-jp.tex

clean-binary :
	echo " ../open-sm1-binary*  will be removed"
	echo "after 10 seconds. To cancel type in ctrl-C."
	( sleep 10 ; /bin/rm -rf ../open-sm1-binary* )