80 lines
1.7 KiB
Text
80 lines
1.7 KiB
Text
EM = ../../../..
|
|
CEG = $(EM)/lib/ceg
|
|
|
|
Em = $(CEG)/EM_parser/as_EM_pars
|
|
ASMAIN = $(CEG)/assemble/as_assemble
|
|
BACK = $(CEG)/ce_back
|
|
AS = $(CEG)/as_parser
|
|
EVAL = $(CEG)/as_parser/eval
|
|
DEF = $(CEG)/defaults
|
|
|
|
CC = cc
|
|
CFLAGS = -O
|
|
AR = ar
|
|
LEXLIB = -ll
|
|
|
|
IFILES = -I. -I.. -I$(AS) -I$(Em) -I$(EM)/h -I$(EM)/modules/h -I../back
|
|
|
|
CEG_LIBS = $(EM)/modules/lib/liballoc.a\
|
|
$(EM)/modules/lib/libprint.a\
|
|
$(EM)/modules/lib/libstring.a\
|
|
$(EM)/modules/lib/libsystem.a
|
|
|
|
.c.o : mach.h back/*h
|
|
( cd ce; $(CC) -c $(CFLAGS) $(IFILES) ../$*.c)
|
|
|
|
all: back ceg ce
|
|
make -f ce_makefile ce.a
|
|
|
|
clean:
|
|
rm -rf ce back ceg ce.a back.a Out
|
|
|
|
dclean:
|
|
rm -rf ce back ceg Out
|
|
|
|
ce : ceg/ceg
|
|
mkdir ce
|
|
( cd ce; ../ceg/ceg -l < $(DEF)/not_impl/not_impl_table)
|
|
(cd ce; cp $(DEF)/*.c .)
|
|
(cd ce; cp $(DEF)/*/*.c .)
|
|
ln mach.c ce/mach.c
|
|
@make -f ce_makefile EM_instr
|
|
|
|
ceg :
|
|
mkdir ceg
|
|
(cd ceg; cp $(ASMAIN)/* .)
|
|
(cd ceg;$(CC) -c $(IFILES) *.c; $(AR) r as_lib.a *.o )
|
|
-(cd ceg; ranlib as_lib.a)
|
|
|
|
|
|
back :
|
|
mkdir back
|
|
(cd back;cp $(BACK)/as_back/*h . )
|
|
(cd back;cp $(BACK)/as_back/Makefile .)
|
|
( cd back; make)
|
|
$(AR) r back.a back/*o
|
|
-ranlib back.a
|
|
|
|
|
|
|
|
ce.a : ce/*.o
|
|
$(AR) r ce.a ce/*.o
|
|
-ranlib ce.a
|
|
|
|
ce/*.o : mach.h back/*.h
|
|
(cd ce;$(CC) -c $(CFLAGS) $(IFILES) *.c)
|
|
|
|
EM_instr : ceg/ceg mach.h back/*.h EM_table
|
|
( cd ce; $(EM)/lib/cpp -P ../EM_table | ../ceg/ceg -l)
|
|
( cd ce; $(CEG)/util/create_ofiles)
|
|
@make -f ce_makefile ce.a
|
|
|
|
|
|
ceg/ceg : ceg/as_lib.a ceg/eval_as.o # $(Em)/em_parser
|
|
(cd ceg; $(CC) -o ceg $(Em)/*.o eval_as.o as_lib.a $(CEG_LIBS) $(LEXLIB) )
|
|
|
|
ceg/eval_as.o : ceg/eval_as.c as.h # $(AS)/as_parser.h $(Em)/arg_type.h
|
|
(cd ceg;$(CC) -c $(IFILES) eval_as.c)
|
|
|
|
ceg/eval_as.c : as.c # $(EVAL)/eval
|
|
(cd ceg ; $(EVAL)/eval < ../as.c > eval_as.c )
|