Return to Makefile CVS log | Up to [local] / OpenXM / src / k097 |
File: [local] / OpenXM / src / k097 / Attic / Makefile (download)
Revision 1.16, Sun Dec 10 02:25:31 2000 UTC (23 years, 6 months ago) by takayama
"make slib.sm1" generates slib.sm1 from slib.k by the k0 compiler (d0), which translates k0 source codes into sm1 source codes. If you update slib.sm1, do not forget "make slib.sm1". k0 does not read slib.k, but reads slib.sm1. |
# $OpenXM: OpenXM/src/k097/Makefile,v 1.16 2000/12/10 02:25:31 takayama Exp $ # targets # all # compile # intall : all install-lib # # install-for-debug # OpenXM_HOME=../../../OpenXM OpenXM_include=$(OpenXM_HOME)/include BDATE =19970416 CC = gcc GC = $(KHOME)/gc/gc.a OpenXM_lib=../../lib DDD=-D_BSD_SOURCE #STATIC_LINK_FLAG=-static STATIC_LINK_FLAG= ## Kan source. kan sources must be built up by hand. KHOME = ../kan96xx ## LOAD_K_PATH ='"/usr/local/lib/k0/"' LOAD_SM1_PATH2 ='"/this_directory_does_not_exists/"' ## LIBGMP=$(OpenXM_HOME)/lib/libgmp.a ## This line is for buggy linux-gmp. ## LIBGMP = $(GMP_HOME)/libgmp.a $(GMP_HOME)/mpn/libmpn.a EXTRALIB = ########### end of configuration. ### These are to switch k2 linux and k2 solaris version. SOLARIS_SLIB = -lsocket -lnsl -lc /usr/ucblib/libucb.a ### if you use K2LFLAG below, you don't need ALIB. #K2LFLAG = -lm $(SOLARIS_ALIB) K2LFLAG = -lfunc -lparse -lengine -lm -Wl,-rpath,/usr/X11R6/lib #CALL_ASIR=callasir.solaris.c CALL_ASIR=callasir.c PARI_LIB = -lpari ########################################################### SOLARIS_ALIB = -L$(AHOME)/usrlib $(AHOME)/io/tcpf.o $(AHOME)/plot/plotf.o $(AHOME)/builtin/libfunc.a $(AHOME)/parse/libparse.a $(AHOME)/io/libio.a $(AHOME)/engine/libca.a $(AHOME)/asm/libasm.a $(PARI_LIB) $(SOLARIS_SLIB) SOLARIS_EXTRA_INCLUDE = -I$(AHOME)/parse -I$(AHOME)/io ########################################################### CC = gcc MYYACC = bison YACCPREFIX = -p KC FLAG = -g -DLOAD_K_PATH=$(LOAD_K_PATH) -DLOAD_SM1_PATH2=$(LOAD_SM1_PATH2) KAN_HOME = $(KHOME)/Kan all : d0 k0 ## Making a new Makefile new : touch Makefile.new /bin/cp Makefile.new Trash /bin/rm -f Makefile.new sed -f new.sed <Makefile >Makefile.new d0 : simple.tab.o d.o dic.o dm.c $(CC) ${STATIC_LINK_FLAG} $(FLAG) $(DDD) -o d0 dm.c d.o dic.o simple.tab.o d.o : d.c simple.tab.h Stable/sm1symbol.h $(CC) $(FLAG) $(DDD) -o d.o -c d.c simple.tab.o : simple.tab.c $(CC) $(FLAG) $(DDD) -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 (cd Stable; make clean) (cd try; make clean) ## rm -f simple.tab.c simple.tab.h backup : cp simple.y d.c dm.c k2.c ki.c msg*.c d.h Makefile *.k incmac.sm1 memo.txt Backup/backup$(BDATE) 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 KXXASIR = simple.tab.o d.o ki-asir.o dic.o k0 : k0.o $(KXX) $(KAN_HOME)/kanlib.a $(GC) $(LIBGMP) $(KAN_HOME)/lookup.h if test `uname` = "SunOS" ; \ then \ $(CC) $(FLAG) $(DDD) -I$(OpenXM_include) -I$(KAN_HOME) -o k0 k0.o $(KXX) $(KAN_HOME)/kanlib.a $(LIBGMP) $(GC) $(EXTRALIB) $(SOLARIS_SLIB) ; \ else \ $(CC) ${STATIC_LINK_FLAG} $(FLAG) $(DDD) -I$(OpenXM_include) -I$(KAN_HOME) -o k0 k0.o $(KXX) $(KAN_HOME)/kanlib.a $(LIBGMP) $(GC) $(EXTRALIB) ; \ fi k0.o : k2.c $(CC) -c $(FLAG) $(DDD) -I$(OpenXM_include) -I$(KAN_HOME) -o k0.o k2.c ki.o : ki.c $(CC) -c $(FLAG) $(DDD) -I$(OpenXM_include) -I$(KAN_HOME) -o ki.o ki.c ki-asir.o : ki.c $(CC) -c $(FLAG) $(DDD) -DCALLASIR -I$(OpenXM_include) -I$(KAN_HOME) -o ki-asir.o ki.c dic.o : dic.c d.h $(CC) -c $(FLAG) $(DDD) -o dic.o dic.c $(KAN_HOME)/kanlib.a : $(KAN_HOME)/sm1 (cd $(KAN_HOME); make kanlib.a) kanlib.a : (cd $(KAN_HOME); make kanlib.a) $(KAN_HOME)/lookup.h : (cd $(KAN_HOME); make lookup.h) ######## How to make k2. k2 is k0&asir&sm1 ## asir GC. ASIRGC = $(AHOME)/gc/libgc.a ## asir include ASIR_INCLUDE = $(AHOME)/include ASIR_INCLUDE2 = $(ALIB)/include LFLAG = $(K2LFLAG) GMP = $(LIBGMP) ASIRKAN = $(ASIRKAN_HOME)/ak.a K2INCLUDE = -I$(ASIR_INCLUDE) -I$(ASIR_INCLUDE2) -I$(KHOME)/Kan -I$(ASIRKAN_HOME) $(SOLARIS_EXTRA_INCLUDE) k2 : k2.c $(KAN_HOME)/kanlib.a $(KXXASIR) msg1.o $(ASIRKAN) $(ASIRKAN_HOME)/$(CALL_ASIR) $(ASIRGC) $(CC) $(FLAG) $(DDD) -DCALLASIR $(K2INCLUDE) -o k2 k2.c $(KXXASIR) msg1.o $(ASIRKAN_HOME)/$(CALL_ASIR) -L/usr/X11R6/lib -L$(ALIB) $(LFLAG) $(KAN_HOME)/kanlib.a $(ASIRKAN) $(ASIRGC) msg1.o : msg1.c $(CC) $(FLAG) $(DDD) -DCALLASIR $(K2INCLUDE) -c msg1.c $(ASIRKAN) : (cd $(ASIRKAN_HOME); make ak.a) $(GC) : (cd $(KHOME)/gc ; make ) ########## ## A sample to compilation: source is test0.c, output is test0 test0 : test0.c $(KXX) $(KAN_HOME)/kanlib.a $(GC) $(KAN_HOME)/lookup.h $(CC) $(FLAG) $(DDD) -I$(OpenXM_include) -I$(KAN_HOME) -o test0 test0.c $(KXX) $(KAN_HOME)/kanlib.a $(LIBGMP) $(GC) install0 : all cp -f k0 d0 $(HOME)/.Hbin cp lib/mklib $(HOME)/.Hbin echo "Set the environment variable in $(HOME)/bin/mklib" install : all install-lib cp -f k0 d0 ../../bin install-for-debug : all install-lib-for-debug rm -f ../../bin/k0 ../../bin/d0 (cd ../../bin ; ln -s ../src/k097/k0 k0) (cd ../../bin ; ln -s ../src/k097/d0 d0) install-lib : /bin/rm -rf $(OpenXM_lib)/k097 mkdir $(OpenXM_lib)/k097 cp -f $(KHOME)/Doc/var.sm1 $(OpenXM_lib)/k097 cp -rf *.sm1 *.k *.kk debug $(OpenXM_lib)/k097 install-lib-for-debug : /bin/rm -rf $(OpenXM_lib)/k097 ln -s ../src/k097 $(OpenXM_lib)/k097 dist : ./makeDist