make_obj 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. EM = ../../../..
  2. CEG = $(EM)/lib/ceg
  3. Em = $(CEG)/EM_parser/obj_EM_pars
  4. ASMAIN = $(CEG)/assemble/obj_assemble
  5. BACK = $(CEG)/ce_back
  6. AS = $(CEG)/as_parser
  7. EVAL = $(CEG)/as_parser/eval
  8. DEF = $(CEG)/defaults
  9. AR = ar
  10. CC = cc
  11. LEXLIB = -ll
  12. IFILES = -I. -I.. -I$(AS) -I$(Em) -I$(EM)/h -I$(EM)/modules/h -I../back
  13. CEG_LIBS = $(EM)/modules/lib/liballoc.a\
  14. $(EM)/modules/lib/libprint.a\
  15. $(EM)/modules/lib/libstring.a\
  16. $(EM)/modules/lib/libsystem.a
  17. CFLAGS = -O $(IFILES)
  18. .c.o: mach.h back.a
  19. cd ce ; $(CC) -c $(CFLAGS) ../$*.c ; cd ..
  20. all: back.a ce.a
  21. install: all
  22. ../../install ce.a
  23. ../../install back.a
  24. cmp: all
  25. -../../compare ce.a
  26. -../../compare back.a
  27. clean:
  28. rm -rf ce back ceg ce.a back.a Out
  29. ce.a : ce/dummy
  30. $(AR) r ce.a ce/*.o
  31. -sh -c 'ranlib ce.a'
  32. ce/dummy : ce/dummy1 mach.h back.a
  33. cd ce;$(CC) -c $(CFLAGS) *.c; touch dummy ; cd ..
  34. ce/dummy1: ceg/ceg EM_table mach.h back.a
  35. -mkdir ce
  36. -ln mach.c ce/mach.c
  37. cd ce; ../ceg/ceg -l < $(DEF)/not_impl/not_impl_table ; cp $(DEF)/*.c . ; cp $(DEF)/*/*.c . ; cd ..
  38. cd ce; $(EM)/lib/cpp -P ../EM_table | ../ceg/ceg -l ; cd ..
  39. touch ce/dummy1
  40. back.a: mach.h
  41. -mkdir back
  42. cd back;cp $(BACK)/obj_back/*h . ; cp $(BACK)/obj_back/Makefile . ; make; cd ..
  43. $(AR) r back.a back/*o;
  44. -sh -c 'ranlib back.a'
  45. ceg/ceg : ceg/as_lib.a ceg/as_instr.o ceg/eval_as.o # $(Em)/em_parser
  46. cd ceg; $(CC) -o ceg $(Em)/*.o as_instr.o eval_as.o as_lib.a $(CEG_LIBS) $(LEXLIB) ; cd ..
  47. ceg/as_lib.a:
  48. -mkdir ceg
  49. cd ceg; cp $(ASMAIN)/* . ; $(CC) -c $(IFILES) *.c; $(AR) r as_lib.a *.o ; touch dummy ; cd ..
  50. -sh -c 'ranlib ceg/as_lib.a'
  51. ceg/eval_as.o : ceg/eval_as.c as.h # $(AS)/as_parser.h $(Em)/arg_type.h
  52. cd ceg;$(CC) -c $(IFILES) eval_as.c ; cd ..
  53. ceg/eval_as.c : as.c # $(EVAL)/eval
  54. cd ceg; $(EVAL)/eval < ../as.c > eval_as.c ; cd ..
  55. ceg/as_instr.o : as.h ceg/dummy ceg/as_instr.c
  56. cd ceg;$(CC) -c $(IFILES) as_instr.c ; cd ..
  57. ceg/as_instr.c : as_table # $(AS)/as_parser
  58. cd ceg; $(EM)/lib/cpp -P ../as_table| $(AS)/as_parser > as_instr.c ; cd ..