home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / CLISP-1.LHA / CLISP960530-sr.lha / amiga / jchlib / Makefile next >
Encoding:
Makefile  |  1996-08-06  |  2.4 KB  |  95 lines

  1. # GNU-Makefile for tiny GCC library
  2. # Jörg Höhle, 6-Aug-96
  3.  
  4. # 24.7.96: removed gnulib files from LIBFILES, use -lgcc instead
  5. #        lib/gnuarith.o lib/_ashldi3.o lib/_ucmpdi2.o lib/_negdi2.o\
  6.  
  7. FLAGS=-Wall -fomit-frame-pointer
  8. # -IGCC:include is used by the GCC2 inlines
  9. INCPATH=-nostdinc -Iinclude -IADE:os-include -IADE:include
  10.  
  11. #CP    =copy clone
  12. CP     =cp -p
  13.  
  14. CC     =gcc -v
  15. CFLAGS =-O2 -mc68000 $(INCPATH) $(FLAGS)
  16. AS     =as
  17. ASFLAGS=-mc68010
  18. LD     =ld
  19. LDFLAGS=-x -nostdlib -Llib -l$(LIBSHORTNAME)
  20. #AR from gcc-2.5.6/8 doesn't strip dirnames which I believe is wrong
  21. AR     =ar233
  22.  
  23. #LIBSHORTNAME=tiny
  24. LIBSHORTNAME=cclisp
  25. LIBFILENAME=lib/lib$(LIBSHORTNAME).a
  26. CRT0FILENAME=lib/crt0.o
  27.  
  28. STARTUPFILES=$(addprefix startup/,\
  29.  main.c def_handle.c wbmain.c exit.c parseargs.c gcc2__main.s)
  30.  
  31. MISCFILES=misc/setjmp.s misc/strlen.c misc/CreatePort.c misc/setmode.c misc/getenv.c
  32. # MISCOBJS=$(subst .c,.o,$(MISCFILES))
  33.  
  34. # Order is important for startup
  35. LIBFILES=\
  36.  startup/main.o startup/wbmain.o startup/exit.o startup/parseargs.o\
  37.  misc/setjmp.o misc/strlen.o startup/gcc2__main.o\
  38.  misc/CreatePort.o misc/BPTRfprintf.o misc/setmode.o misc/getenv.o\
  39.  startup/def_handle.o startup/def_window.o startup/def_glue.o
  40.  
  41. # clisp.c gives nicer defaults
  42. CLISPLIBFILES=$(filter-out startup/def_glue.o,\
  43.  $(subst startup/def_window.o,startup/clisp.o,$(LIBFILES)))
  44.  
  45. all: $(LIBFILENAME) $(CRT0FILENAME)
  46.  
  47. lib/libcclisp.a: $(CLISPLIBFILES)
  48.     $(RM) $@
  49.     $(AR) -qv $@ $^
  50.     ranlib $@
  51.  
  52. lib/libtiny.a: $(LIBFILES)
  53.     $(RM) $@
  54.     $(AR) -qv $@ $^
  55.     ranlib $@
  56.  
  57. lib/crt0.o: startup/crt0.o
  58.     $(CP) $< $@
  59.  
  60. lib/gnuarith.o:
  61.     echo "gnuarith.o is taken from GCCBuRP"
  62.  
  63. lib/_ashldi3.o lib/_ucmpdi2.o lib/_negdi2.o lib/_udivdi3.o:
  64.     echo "$@ comes from GCC-2.5.8"
  65.  
  66. # Luckily, -lgcc is not required here
  67. test: test.o $(LIBFILENAME) $(CRT0FILENAME)
  68.     $(LD) $(CRT0FILENAME) $< $(LDFLAGS) -o $@
  69.  
  70. test-s: test.o $(LIBFILENAME) $(CRT0FILENAME)
  71.     $(LD) -s $(CRT0FILENAME) $< $(LDFLAGS) -o $@
  72.  
  73. setmode-main: misc/setmode.c $(LIBFILENAME) $(CRT0FILENAME)
  74.     $(CC) $(CFLAGS) -c -DMAIN -DJCHLIB misc/setmode.c -o setmode-main.o
  75.     $(LD) -s $(CRT0FILENAME) setmode-main.o $(LDFLAGS) -o $@
  76.  
  77. clean:
  78.     $(RM) startup/*.o misc/*.o test.o $(LIBFILENAME) $(CRT0FILENAME)
  79.  
  80. # Amiga object module format
  81. %.ao: %.o
  82.     sobja -b -s $< $@
  83.  
  84. # Dillon's object module disassembler
  85. %.dobj: %.ao
  86.     dobj $< -o $@
  87.  
  88. # Dependencies
  89. startup/main.o: startup/defs.h
  90.  
  91. startup/exit.o: startup/defs.h
  92.  
  93. startup/wbmain.o: startup/defs.h
  94.  
  95.