1 # $Id: make_ceg,v 1.5 1994/06/24 10:55:15 ceriel Exp $
3 #PARAMS do not remove this line!
5 #requires definitions for OBJ and SRC_DIR; not to be called directly
7 CEG = $(TARGET_HOME)/lib.bin/ceg
9 Em = $(CEG)/EM_parser/$(OBJ)_EM_pars
10 ASMAIN = $(CEG)/assemble/$(OBJ)_assemble
12 EVAL = $(CEG)/as_parser/eval
15 IFILES = -I. -I$(SRC_DIR) -I.. -I$(AS) -I$(Em) -I$(TARGET_HOME)/h -I$(TARGET_HOME)/modules/h -I../back
17 CFLAGS = $(COPTIONS) $(IFILES) -DNDEBUG
18 LDFLAGS = $(LDOPTIONS)
20 CEG_LIBS = $(TARGET_HOME)/modules/lib/liballoc.$(LIBSUF)\
21 $(TARGET_HOME)/modules/lib/libprint.$(LIBSUF)\
22 $(TARGET_HOME)/modules/lib/libstring.$(LIBSUF)\
23 $(TARGET_HOME)/modules/lib/libsystem.$(LIBSUF)
27 obj_list: ceg/as_lib.$(LIBSUF) ceg/as_instr.$(SUF) ceg/eval_as.$(SUF)
28 echo 'ceg/as_instr.$(SUF) ceg/eval_as.$(SUF) ceg/as_lib.$(LIBSUF)' > ceg/list
30 as_list: ceg/as_lib.$(LIBSUF)
31 echo 'ceg/as_lib.$(LIBSUF)' > ceg/list
36 $(CC) $(LDFLAGS) -o ceg/ceg $(Em)/*.$(SUF) `cat ceg/list` $(CEG_LIBS)
40 cp $(CEG)/util/make_ceg ceg/Makefile
41 cd ceg ; cp $(ASMAIN)/* . ; $(CC) -c $(CFLAGS) *.c; $(AR) r as_lib.$(LIBSUF) *.$(SUF) ; cd ..
42 $(RANLIB) ceg/as_lib.$(LIBSUF)
44 ceg/eval_as.$(SUF) : ceg/eval_as.c $(SRC_DIR)/as.h # $(AS)/as_parser.h $(Em)/arg_type.h
45 cd ceg ; $(CC) -c $(CFLAGS) eval_as.c ; cd ..
47 ceg/eval_as.c : $(SRC_DIR)/as.c # $(EVAL)/eval
48 cd ceg ; $(EVAL)/eval < $(SRC_DIR)/as.c > eval_as.c ; cd ..
50 ceg/as_instr.$(SUF) : $(SRC_DIR)/as.h ceg/as_lib.$(LIBSUF) ceg/as_instr.c
51 cd ceg ; $(CC) -c $(CFLAGS) as_instr.c ; cd ..
53 ceg/as_instr.c : $(SRC_DIR)/as_table # $(AS)/as_parser
54 cd ceg ; $(TARGET_HOME)/lib.bin/cpp -P $(SRC_DIR)/as_table | $(AS)/as_parser > as_instr.c ; cd ..