home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / D / CLISP / CLISPSRC.TAR / clisp-1995-01-01 / amiga / jchlib / Makefile next >
Encoding:
Makefile  |  1994-10-24  |  2.3 KB  |  91 lines

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