make_as 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. EM = ../../../..
  2. CEG = $(EM)/lib/ceg
  3. Em = $(CEG)/EM_parser/as_EM_pars
  4. ASMAIN = $(CEG)/assemble/as_assemble
  5. BACK = $(CEG)/ce_back
  6. AS = $(CEG)/as_parser
  7. DEF = $(CEG)/defaults
  8. CC = cc
  9. AR = ar
  10. LEXLIB = -ll
  11. IFILES = -I. -I.. -I$(AS) -I$(Em) -I$(EM)/h -I$(EM)/modules/h -I../back
  12. CFLAGS = -O $(IFILES)
  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. .c.o: mach.h back.a
  18. cd ce ; $(CC) -c $(CFLAGS) ../$*.c ; cd ..
  19. all: back.a ce.a
  20. install: all
  21. ../../install ce.a
  22. ../../install back.a
  23. cmp: all
  24. -../../compare ce.a
  25. -../../compare back.a
  26. clean:
  27. rm -rf ce back ceg ce.a back.a Out
  28. dclean:
  29. rm -rf ce back ceg Out
  30. ce.a : ce/dummy
  31. $(AR) r ce.a ce/*.o
  32. -sh -c 'ranlib ce.a'
  33. ce/dummy : ce/dummy1 mach.h back.a
  34. cd ce;$(CC) -c $(CFLAGS) *.c; touch dummy ; cd ..
  35. ce/dummy1: ceg/ceg EM_table mach.h back.a
  36. -mkdir ce
  37. -ln mach.c ce/mach.c
  38. cd ce; ../ceg/ceg -l < $(DEF)/not_impl/not_impl_table ; cp $(DEF)/*.c . ; cp $(DEF)/*/*.c . ; cd ..
  39. cd ce; $(EM)/lib/cpp -P ../EM_table | ../ceg/ceg -l ; cd ..
  40. touch ce/dummy1
  41. ceg/as_lib.a:
  42. -mkdir ceg
  43. cd ceg; cp $(ASMAIN)/* . ; $(CC) -c $(IFILES) *.c; $(AR) r as_lib.a *.o ; cd ..
  44. -sh -c 'ranlib ceg/as_lib.a'
  45. back.a: mach.h
  46. -mkdir back
  47. cd back;cp $(BACK)/as_back/*h . ; cp $(BACK)/as_back/Makefile . ; make ; cd ..
  48. $(AR) r back.a back/*o
  49. -sh -c 'ranlib back.a'
  50. ceg/ceg : ceg/as_lib.a # $(Em)/em_parser
  51. cd ceg; $(CC) -o ceg $(Em)/*.o as_lib.a $(CEG_LIBS) $(LEXLIB) ; cd ..