Makefile 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #
  2. # Makefile for Fraise PiedUsb
  3. #
  4. CHIP=18f2550
  5. # make /usr if you want released tools /home/rick/in/sdcc
  6. # MY_BASE=/home/rick/in/sdcc
  7. #MY_BASE=/usr
  8. #SDCC_HOME=$(MY_BASE)/share/sdcc
  9. SDCCHOME = ../../bin
  10. SDCC = $(SDCCHOME)/bin/sdcc
  11. SDCCFLAGS = -mpic16 -p18f2550 --disable-warning 85 --std-sdcc99 --obanksel=3 --use-non-free \
  12. -I$(SDCCHOME)/share/include/pic16 -I$(SDCCHOME)/share/non-free/include/pic16 \
  13. -L$(SDCCHOME)/share/non-free/lib/pic16 -L$(SDCCHOME)/share/lib/pic16
  14. CDCACM=usbcdcacm1.1/
  15. SRCS= $(CDCACM)/usbcdc.c $(CDCACM)/printft.c fraisemaster/fraisemaster.c main.c
  16. HDRS= fraisemaster/fraisemaster.h config.h prj_usb_config.h \
  17. $(CDCACM)/usbcdc_defs.h $(CDCACM)/usb_defs.h $(CDCACM)/usbcdc.h $(CDCACM)/usbpic_defs.h
  18. OBJS = $(SRCS:%.c=%.o)
  19. ASMS = $(SRCS:%.c=%.asm)
  20. LSTS = $(SRCS:%.c=%.lst)
  21. CRT = crt0iz-rloc
  22. #PROJ=PiedUsb
  23. PROJ=Project
  24. CC=$(SDCC)
  25. DIS = gpdasm
  26. FSUSB = fsusb
  27. #OPTS= --model-small --vc --denable-peeps --optimize-cmp --optimize-df --obanksel=9 --opt-code-size --fommit-frame-pointer --ivt-loc=0x0800 --use-crt=$(CRT).o
  28. OPTS= --vc --denable-peeps --optimize-cmp --optimize-df --obanksel=9 --opt-code-size --fomit-frame-pointer
  29. #--use-crt=$(CRT).o
  30. #--optimize-goto
  31. #OPTS= --no-peep --fstack
  32. CFLAGS= -I. -I$(CDCACM) -Ifraisemaster $(OPTS) $(SDCCFLAGS)
  33. #--std-c99
  34. LINKER_SCRIPT= sd$(CHIP)-full.lkr
  35. #sdcc 1.8 and before
  36. #LIBS= libsdcc.lib libc18f.lib libio$(CHIP).lib pic$(CHIP).lib
  37. #sdcc 1.9
  38. LIBS= libsdcc.lib libc18f.lib libio$(CHIP).lib libdev$(CHIP).lib
  39. # .SUFFIXES: .c .asm .o .hex
  40. all: $(PROJ).hex
  41. $(OBJS): %.o: %.c Makefile $(HDRS)
  42. $(CC) $(CFLAGS) -c $< -o $@
  43. $(PROJ).hex: $(OBJS) $(LINKER_SCRIPT) $(CRT).o
  44. $(CC) $(CFLAGS) -L $(SDCC_HOME)/lib/pic16 -Wl,"-m -w -s $(LINKER_SCRIPT)" -o $(PROJ) $(OBJS) $(LIBS)
  45. disass:
  46. $(DIS) -p p$(CHIP) $(PROJ).hex > $(PROJ).lis
  47. prog: all
  48. # su root -c " $(FSUSB) --program $(PROJ).hex "
  49. $(FSUSB) --program $(PROJ).hex
  50. progpk2: all
  51. pk2cmd -f$(PROJ).hex -p /m /e /j /r
  52. clean:
  53. rm -f $(OBJS) $(ASMS) $(LSTS) core .depend depend $(PROJ).cod $(PROJ).hex $(PROJ).lst *.o *.asm *.lst *.map
  54. $(CRT).o: %.o: %.c
  55. $(CC) $(CFLAGS) -c $< -o $@
  56. #depend .depend dep:
  57. # for file in $(SRCS); do DIR=`dirname $$file`; echo -n $$DIR/ >> $@; $(CC) $(CFLAGS) -M $$file >> $@; done
  58. dummy:
  59. # include a dependency file if one exists
  60. #ifeq (.depend,$(wildcard .depend))
  61. #include .depend
  62. #endif