12 |
PCLDIR = ../pcl |
PCLDIR = ../pcl |
13 |
PORTDIR = . |
PORTDIR = . |
14 |
|
|
15 |
OLDDATE = "DATE" |
LD_LIBS_PRE=$(addprefix -u ,$(PATCHED_SYMBOLS)) |
16 |
|
LD_LIBS_POST=$(LIBS) $(LIBC) -lgclp |
|
LD_LIBS=$(addprefix -u ,$(PATCHED_SYMBOLS)) -lgcl $(LIBS) $(LIBC) -lgclp |
|
17 |
|
|
18 |
libgclp.a: $(ODIR)/gcllib.a |
libgclp.a: $(ODIR)/gcllib.a |
19 |
cp $< $@ |
cp $< $@ |
36 |
done |
done |
37 |
touch $@ |
touch $@ |
38 |
|
|
39 |
OOBJS= main.o alloc.o gbc.o bitop.o typespec.o eval.o macros.o lex.o bds.o \ |
OBJS:=$(shell j=$$(ar t $(ODIR)/gcllib.a) ; for i in $$(ls -1 $(ODIR)/*.o) ; do if ! echo $$j |grep -q $$(basename $$i) ; then echo $$i ; fi ; done) |
40 |
frame.o predicate.o reference.o assignment.o bind.o let.o conditional.o \ |
OBJS:=$(OBJS) $(shell ls -1 $(LSPDIR)/*.o) |
41 |
block.o iteration.o mapfun.o prog.o multival.o catch.o symbol.o cfun.o \ |
OBJS:=$(OBJS) $(shell ls -1 $(CMPDIR)/*.o | grep -v collectfn.o) |
|
cmpaux.o package.o big.o number.o num_pred.o num_comp.o num_arith.o \ |
|
|
num_sfun.o num_co.o num_log.o num_rand.o earith.o character.o sequence.o \ |
|
|
list.o hash.o array.o string.o regexpr.o structure.o toplevel.o \ |
|
|
file.o read.o backq.o print.o format.o pathname.o unixfsys.o unixfasl.o \ |
|
|
error.o unixtime.o unixsys.o unixsave.o funlink.o fat_string.o run_process.o \ |
|
|
nfunlink.o usig.o usig2.o utils.o makefun.o sockets.o clxsocket.o init_pari.o \ |
|
|
nsocket.o $(RL_OBJS) new_init.o |
|
|
|
|
|
OBJS= $(addprefix $(ODIR)/,$(OOBJS)) $(SFASL) #$(EXTRAS) |
|
|
|
|
|
LLSPOBJS=defmacro.o evalmacros.o top.o module.o predlib.o setf.o \ |
|
|
arraylib.o assert.o defstruct.o describe.o iolib.o listlib.o \ |
|
|
mislib.o numlib.o packlib.o seq.o seqlib.o trace.o sloop.o debug.o \ |
|
|
serror.o info.o destructuring_bind.o defpackage.o make_defpackage.o \ |
|
|
loop.o $(EXTRA_LOBJS) $(RL_OBJS) |
|
|
|
|
|
LSPOBJS = $(addprefix $(LSPDIR)/,$(LLSPOBJS)) |
|
|
|
|
|
CCMPOBJS=cmpinline.o cmputil.o cmptype.o cmpbind.o cmpblock.o cmpcall.o \ |
|
|
cmpcatch.o cmpenv.o cmpeval.o cmpflet.o cmpfun.o cmpif.o \ |
|
|
cmplabel.o cmplam.o cmplet.o cmploc.o cmpmap.o cmpmulti.o \ |
|
|
cmpspecial.o cmptag.o cmptop.o cmpvar.o cmpvs.o cmpwt.o |
|
|
|
|
|
CMPOBJS = $(addprefix $(CMPDIR)/,$(CCMPOBJS)) |
|
42 |
|
|
43 |
SYSTEM=gcl |
ANSIOBJS:=$(shell ls -1 $(PCLDIR)/*.o) $(shell ls -1 $(CLCSDIR)/*.o) |
|
|
|
|
saved_ansi_gcl: ansi_cl.lisp $(CLCSDIR)/saved_full_gcl |
|
|
$(CLCSDIR)/saved_full_gcl < ansi_cl.lisp |
|
44 |
|
|
45 |
$(LSPDIR)/auto_new.lsp: $(LSPDIR)/auto.lsp |
$(LSPDIR)/auto_new.lsp: $(LSPDIR)/auto.lsp |
46 |
cp $< $@ |
cp $< $@ |
47 |
[ "$(RL_OBJS)" = "" ] || \ |
[ "$(RL_OBJS)" = "" ] || \ |
48 |
echo "(AUTOLOAD 'init-readline '|readline|)" >>$@ |
echo "(AUTOLOAD 'init-readline '|readline|)" >>$@ |
49 |
|
|
50 |
init_gcl.lsp: init_gcl.lsp.in |
init_gcl.lsp.tmp: init_gcl.lsp.in |
51 |
|
cp $< $@ |
52 |
|
|
53 |
cat $< |\ |
init_ansi_gcl.lsp.tmp: init_ansi_gcl.lsp.in ../cmpnew/cmpmain.lsp \ |
54 |
sed -e "s$(OLDDATE)Version(`cat ../majvers`.`cat ../minvers`) `date`g" > $@ |
../pcl/sys-package.lisp ../clcs/package.lisp |
|
echo "(setq si::*gcl-version* `cat ../minvers` si::*gcl-major-version* `cat ../majvers`)" >>$@ |
|
|
echo "(setq compiler::*cc* \"$(CC) -c $(FINAL_CFLAGS)\")" >>$@ |
|
|
echo "(setq compiler::*ld* \"$(CC) -o \")" >>$@ |
|
|
echo "(setq compiler::*ld-libs* \"$(LD_LIBS)\")" >>$@ |
|
|
echo "(setq compiler::*opt-three* \"$(O3FLAGS)\")" >>$@ |
|
|
echo "(setq compiler::*opt-two* \"$(O2FLAGS)\")" >>$@ |
|
|
echo "(setq compiler::*init-lsp* \"$@\")" >>$@ |
|
55 |
|
|
56 |
|
awk '/^ *@LI-PCL-PACKAGE@/{i=1;next} \ |
57 |
|
/^ *@LI-CLCS-PACKAGE@/{i=2;next} {if (i==0) print}' $< >$@ |
58 |
|
cat ../cmpnew/cmpmain.lsp >>$@ |
59 |
|
cat ../pcl/sys-package.lisp >>$@ |
60 |
|
awk '/^ *@LI-PCL-PACKAGE@/{i=1;next} \ |
61 |
|
/^ *@LI-CLCS-PACKAGE@/{i=2;next} {if (i==1) print}' $< >>$@ |
62 |
|
cat ../clcs/package.lisp >>$@ |
63 |
|
awk '/^ *@LI-PCL-PACKAGE@/{i=1;next} \ |
64 |
|
/^ *@LI-CLCS-PACKAGE@/{i=2;next} {if (i==2) print}' $< >>$@ |
65 |
|
|
66 |
|
|
67 |
|
init_%.lsp: init_%.lsp.tmp |
68 |
|
|
69 |
|
cat $< | sed \ |
70 |
|
-e "s,@LI-VERS@,(`cat ../majvers`.`cat ../minvers`) `date`,1" \ |
71 |
|
-e "s,@LI-MINVERS@,`cat ../minvers`,1" \ |
72 |
|
-e "s,@LI-MAJVERS@,`cat ../majvers`,1" \ |
73 |
|
-e "s,@LI-CC@,\"$(CC) -c $(FINAL_CFLAGS)\",1" \ |
74 |
|
-e "s,@LI-LD@,\"$(CC) -o \",1" \ |
75 |
|
-e "s,@LI-LD-LIBS@,\"$(LD_LIBS_PRE) -l$* $(LD_LIBS_POST)\",1" \ |
76 |
|
-e "s,@LI-OPT-THREE@,\"$(O3FLAGS)\",1" \ |
77 |
|
-e "s,@LI-OPT-TWO@,\"$(O2FLAGS)\",1" \ |
78 |
|
-e "s,@LI-INIT-LSP@,\"$@\",1" >$@ |
79 |
|
|
80 |
saved_$(SYSTEM):raw_$(SYSTEM) $(RSYM) init_$(SYSTEM).lsp \ |
saved_%:raw_% $(RSYM) init_%.lsp \ |
81 |
$(CMPDIR)/cmpmain.lsp \ |
$(CMPDIR)/cmpmain.lsp \ |
82 |
$(CMPDIR)/lfun_list.lsp \ |
$(CMPDIR)/lfun_list.lsp \ |
83 |
$(CMPDIR)/cmpopt.lsp $(HDIR)/cmpinclude.h \ |
$(CMPDIR)/cmpopt.lsp $(HDIR)/cmpinclude.h \ |
84 |
$(LSPDIR)/auto_new.lsp |
$(LSPDIR)/auto_new.lsp |
85 |
|
|
86 |
cp init_$(SYSTEM).lsp foo |
cp init_$*.lsp foo |
87 |
echo " (in-package \"USER\")(system:save-system \"saved_$(SYSTEM)\")" >>foo |
echo " (in-package \"USER\")(system:save-system \"$@\")" >>foo |
88 |
$(PORTDIR)/raw_$(SYSTEM)$(EXE) $(PORTDIR)/ -libdir $(GCLDIR)/ < foo |
$(PORTDIR)/raw_$*$(EXE) $(PORTDIR)/ -libdir $(GCLDIR)/ < foo |
|
|
|
|
saved_$(SYSTEM)_sgc:raw_$(SYSTEM) $(RSYM) init_$(SYSTEM).lsp \ |
|
|
$(CMPDIR)/cmpmain.lsp \ |
|
|
$(CMPDIR)/lfun_list.lsp \ |
|
|
$(CMPDIR)/cmpopt.lsp $(HDIR)/cmpinclude.h \ |
|
|
$(LSPDIR)/auto_new.lsp |
|
|
|
|
|
cp init_$(SYSTEM).lsp foo |
|
|
echo " (in-package \"USER\")(si::set-hole-size 500)(gbc nil) (si::sgc-on t)(system:save-system \"saved_$(SYSTEM)_sgc\")" >>foo |
|
|
$(PORTDIR)/raw_$(SYSTEM)$(EXE) $(PORTDIR)/ -libdir $(GCLDIR)/ < foo |
|
89 |
|
|
90 |
$(RSYM): $(SPECIAL_RSYM) $(HDIR)/mdefs.h |
$(RSYM): $(SPECIAL_RSYM) $(HDIR)/mdefs.h |
91 |
$(CC) $(CFLAGS) -I$(HDIR) -I$(ODIR) -o $(RSYM) $(SPECIAL_RSYM) |
$(CC) $(CFLAGS) -I$(HDIR) -I$(ODIR) -o $(RSYM) $(SPECIAL_RSYM) |
93 |
$(HDIR)/mdefs.h: $(HDIR)/include.h |
$(HDIR)/mdefs.h: $(HDIR)/include.h |
94 |
cat $(HDIR)/include.h | sed -e "/include/d" > $(HDIR)/mdefs.h |
cat $(HDIR)/include.h | sed -e "/include/d" > $(HDIR)/mdefs.h |
95 |
|
|
96 |
libgcl.a: $(FIRST_FILE) $(OBJS) $(LSPOBJS) $(CMPOBJS) sys_gcl.o $(LAST_FILE) gmpfiles bfdfiles |
libgcl.a: $(FIRST_FILE) $(OBJS) sys_gcl.o $(LAST_FILE) gmpfiles bfdfiles |
97 |
rm -rf $@ |
rm -rf $@ |
98 |
ar rs $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o") |
ar rs $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o") |
99 |
|
|
100 |
raw_$(SYSTEM): libgcl.a libgclp.a $(SYSTEM_OBJS) $(EXTRAS) |
libansi_gcl.a: $(FIRST_FILE) $(OBJS) $(ANSIOBJS) sys_ansi_gcl.o $(LAST_FILE) gmpfiles bfdfiles |
101 |
$(CC) -Wl,-Map=map.txt -o raw_$(SYSTEM)$(EXE) $(filter %.o,$^) -L. $(EXTRA_LD_LIBS) $(LD_LIBS) |
rm -rf $@ |
102 |
|
ar rs $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o") |
103 |
|
|
104 |
sys_gcl.o: sys_gcl.c $(HDIR)/object.h $(HDIR)/config.h |
raw_%: lib%.a libgclp.a $(SYSTEM_OBJS) $(EXTRAS) |
105 |
$(CC) $(CFLAGS) -c -I$(HDIR) sys_gcl.c |
$(CC) -o raw_$*$(EXE) $(filter %.o,$^) \ |
106 |
|
-L. $(EXTRA_LD_LIBS) $(LD_LIBS_PRE) -l$* $(LD_LIBS_POST) |
107 |
|
|
108 |
clean: |
clean: |
109 |
rm -rf saved_$(SYSTEM)$(EXE) raw_$(SYSTEM)$(EXE) saved_gcl$(EXE) \ |
rm -rf saved_*$(EXE) raw_*$(EXE) *.o core a.out $(RSYM) \ |
110 |
saved_ansi_gcl$(EXE) raw_gcl$(EXE) *.o core a.out $(RSYM) \ |
$(LSPDIR)/auto_new.lsp foo *maxima* init_*.lsp lib*.a gmp* bfd* *.lsp.tmp |
111 |
$(LSPDIR)/auto_new.lsp foo *maxima* init_gcl.lsp libgcl.a libgclp.a \ |
|
112 |
gmp* bfd* |
.INTERMEDIATE: init_ansi_gcl.lsp.tmp init_gcl.lsp.tmp raw_gcl raw_ansi_gcl |
113 |
|
.PRECIOUS: init_gcl.lsp init_ansi_gcl.lsp |