home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROSdev.lha / AROS / compiler / vbcc / Makefile < prev    next >
Encoding:
Makefile  |  1997-01-31  |  2.1 KB  |  74 lines

  1. # $Id: Makefile,v 1.4 1997/01/31 14:17:24 digulla Exp $
  2. TOP=../..
  3.  
  4. include $(TOP)/config/make.cfg
  5.  
  6. USER_INCLUDES = -I. -I./machines/$(KERNEL) -I$(TOP)/compiler/clib/include
  7.  
  8. OBJDIR = $(GENDIR)/compiler/vbcc
  9. LIBS = -L$(LIBDIR) -larosc -lamiga -laros
  10. DEPLIBS = $(LIBDIR)/startup.o $(LIBDIR)/libarosc.a \
  11.     $(LIBDIR)/libamiga.a $(LIBDIR)/libaros.a
  12.  
  13. BASIC_FILES = main vars declaration parse_expr type_expr ic machine \
  14.         statements preproc
  15. CC_FILES = opt av rd regs flow cse cp loop alias
  16. CCS_FILES = opts regss
  17.  
  18. CC_OBJS = $(foreach f,$(BASIC_FILES) $(CC_FILES),$(OBJDIR)/$(f).o)
  19. CCS_OBJS = $(foreach f,$(BASIC_FILES) $(CCS_FILES),$(OBJDIR)/$(f).o)
  20.  
  21. EXES = $(EXEDIR)/vc $(EXEDIR)/vbcc$(KERNEL) $(EXEDIR)/vbccs$(KERNEL)
  22.  
  23. all : setup $(EXES)
  24.  
  25. local-gcc :
  26.     -$(RM) $(EXES) $(OBJDIR)/*.o
  27.     $(MAKE) $(MFLAGS) -f mf.local
  28.     @if [ ! -d bin ]; then $(MKDIR) bin; else true ; fi
  29.     mv vc vbcc$(KERNEL) vbccs$(KERNEL) bin/
  30.  
  31. local-vc :
  32.     -$(RM) $(EXES) $(OBJDIR)/*.o
  33.     $(MAKE) $(MFLAGS) -f mf.local CC=vc APPCFLAGS="-v -I. -Imachines/i386" ILDFLAGS=
  34.  
  35. $(EXEDIR)/vc : vc.c $(DEPLIBS)
  36.     $(CC) $(ILDFLAGS) $(LIBDIR)/startup.o $< -o $@ $(LIBS)
  37.  
  38. $(EXEDIR)/vbcci386 : $(CC_OBJS) $(DEPLIBS)
  39.     $(CC) $(ILDFLAGS) $(LIBDIR)/startup.o $(CC_OBJS) -o $@ $(LIBS) #-lm
  40.  
  41. $(EXEDIR)/vbccsi386 : $(CCS_OBJS) $(DEPLIBS)
  42.     $(CC) $(ILDFLAGS) $(LIBDIR)/startup.o $(CCS_OBJS) -o $@ $(LIBS) #-lm
  43.  
  44. setup :
  45.     @if [ ! -d $(OBJDIR) ]; then $(MKDIR) $(OBJDIR); else true ; fi
  46.     @if [ ! -d $(EXEDIR) ]; then $(MKDIR) $(EXEDIR); else true ; fi
  47.  
  48. clean :
  49.     $(RM) $(EXES) $(OBJDIR)
  50.  
  51. $(OBJDIR)/%.o: %.c
  52.     $(CC) $(APPCFLAGS) -c $< -o $@
  53.  
  54. $(OBJDIR)/machine.o: ./machines/$(KERNEL)/machine.c
  55.     $(CC) $(APPCFLAGS) -c $< -o $@
  56.  
  57. $(OBJDIR)/regss.o: regs.c
  58.     $(CC) -DNO_OPTIMIZER $(APPCFLAGS) -c $< -o $@
  59.  
  60. $(OBJDIR)/opts.o: opt.c
  61.     $(CC) -DNO_OPTIMIZER $(APPCFLAGS) -c $< -o $@
  62.  
  63. $(OBJDIR)/machine.d: ./machines/$(KERNEL)/machine.c
  64.     @if [ ! -d $(@D) ]; then $(MKDIR) $(@D) ; else true ; fi
  65.     $(MKDEPEND) -f- -p$(@D)/ -- $(APPCFLAGS) -- $^ > $@
  66.  
  67. $(OBJDIR)/%.d: %.c
  68.     @if [ ! -d $(@D) ]; then $(MKDIR) $(@D) ; else true ; fi
  69.     $(MKDEPEND) -f- -p$(@D)/ -- $(APPCFLAGS) -- $^ > $@
  70.  
  71. ifneq ($(TARGET),clean)
  72. include $(foreach f,$(BASIC_FILES) $(CC_FILES),$(OBJDIR)/$(f).d)
  73. endif
  74.