54 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # $Id$
 | |
| 
 | |
| #PARAMS		do not remove this line!
 | |
| 
 | |
| #requires definitions for OBJ and SRC_DIR; not to be called directly
 | |
| 
 | |
| CEG = $(TARGET_HOME)/lib.bin/ceg
 | |
| 
 | |
| Em   = $(CEG)/EM_parser/$(OBJ)_EM_pars
 | |
| ASMAIN = $(CEG)/assemble/$(OBJ)_assemble
 | |
| AS   = $(CEG)/as_parser
 | |
| EVAL = $(CEG)/as_parser/eval
 | |
| DEF = $(CEG)/defaults
 | |
| 
 | |
| IFILES	= -I. -I$(SRC_DIR) -I.. -I$(AS) -I$(Em) -I$(TARGET_HOME)/h -I$(TARGET_HOME)/modules/h -I../back
 | |
| 
 | |
| CFLAGS = $(COPTIONS) $(IFILES) -DNDEBUG
 | |
| LDFLAGS = $(LDOPTIONS)
 | |
| 
 | |
| CEG_LIBS = $(TARGET_HOME)/modules/lib/liballoc.$(LIBSUF)\
 | |
| 	   $(TARGET_HOME)/modules/lib/libprint.$(LIBSUF)\
 | |
| 	   $(TARGET_HOME)/modules/lib/libstring.$(LIBSUF)\
 | |
| 	   $(TARGET_HOME)/modules/lib/libsystem.$(LIBSUF)
 | |
| 
 | |
| all:	ceg/ceg
 | |
| 
 | |
| obj_list:	ceg/as_lib.$(LIBSUF) ceg/as_instr.$(SUF) ceg/eval_as.$(SUF)
 | |
| 		echo 'ceg/as_instr.$(SUF) ceg/eval_as.$(SUF) ceg/as_lib.$(LIBSUF)' > ceg/list
 | |
| 
 | |
| as_list:	ceg/as_lib.$(LIBSUF)
 | |
| 		echo 'ceg/as_lib.$(LIBSUF)' > ceg/list
 | |
| 
 | |
| ceg/list:		$(OBJ)_list
 | |
| 
 | |
| ceg/ceg:	ceg/list
 | |
| 		$(CC) $(LDFLAGS) -o ceg/ceg $(Em)/*.$(SUF) `cat ceg/list` $(CEG_LIBS)
 | |
| 
 | |
| ceg/as_lib.$(LIBSUF):
 | |
| 	-mkdir ceg
 | |
| 	cp $(CEG)/util/make_ceg ceg/Makefile
 | |
| 	cd ceg ; cp $(ASMAIN)/* . ; $(CC) -c $(CFLAGS) *.c; $(AR) r as_lib.$(LIBSUF) *.$(SUF) ; cd ..
 | |
| 	$(RANLIB) ceg/as_lib.$(LIBSUF)
 | |
| 
 | |
| ceg/eval_as.$(SUF) : ceg/eval_as.c $(SRC_DIR)/as.h # $(AS)/as_parser.h $(Em)/arg_type.h
 | |
| 	cd ceg ; $(CC) -c $(CFLAGS) eval_as.c ; cd ..
 | |
| 
 | |
| ceg/eval_as.c : $(SRC_DIR)/as.c # $(EVAL)/eval
 | |
| 	cd ceg ; $(EVAL)/eval < $(SRC_DIR)/as.c > eval_as.c ; cd ..
 | |
| 
 | |
| ceg/as_instr.$(SUF) : $(SRC_DIR)/as.h ceg/as_lib.$(LIBSUF) ceg/as_instr.c
 | |
| 	cd ceg ; $(CC) -c $(CFLAGS) as_instr.c ; cd ..
 | |
| 
 | |
| ceg/as_instr.c : $(SRC_DIR)/as_table # $(AS)/as_parser
 | |
| 	cd ceg ; $(TARGET_HOME)/lib.bin/cpp -P $(SRC_DIR)/as_table | $(AS)/as_parser > as_instr.c ; cd ..
 |