Makefile 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #
  2. # Makefile for Microchip sdcc project
  3. #
  4. CHIP=18f2455
  5. # make /usr if you want released tools:
  6. #MY_BASE=/home/antoine/Datas/Sources/MicroPIC/sdcc/
  7. MY_BASE=/usr/
  8. SDCC_HOME=$(MY_BASE)/share/sdcc
  9. SDCC=$(MY_BASE)/bin/sdcc
  10. CC=$(SDCC)
  11. SRCS= main.c
  12. #config.c
  13. HDRS= main.h
  14. OBJS = $(SRCS:%.c=%.o)
  15. ASMS = $(SRCS:%.c=%.asm)
  16. LSTS = $(SRCS:%.c=%.lst)
  17. #CRT = crt0iz-rloc
  18. CRT = crt0iz
  19. #PROJ=FW_B-sansconfig
  20. PROJ=FW_B-BootProtect
  21. DIS = gpdasm
  22. #FSUSB = fsusb
  23. #/home/antoine/PicProjects/USB/fsusb-0.1.11-2/fsusb
  24. #PICP= ~/Datas/Sources/MicroPIC/picp-0.6.8.n/picp
  25. #PICP=/home/arsene/Datas/FromAntoine/PicProg/picp-0.6.8.n/picp
  26. #PICP=/home/arsene/Datas/FromAntoine/PicProg/picp-0.6.8.n/picp
  27. PICP=/home/antoine/Documents/Pic/picp-0.6.8.n/picp
  28. #PK2CMD= ../../../bin/linux/pk2cmd/pk2cmd
  29. PK2CMD= pk2cmd
  30. OPTS= --use-crt=$(CRT).o
  31. #OPTS= --no-peep --fstack
  32. #--ivt-loc=0x0800
  33. #--model-small --vc --denable-peeps --optimize-goto --optimize-cmp --optimize-df --obanksel=9 --opt-code-size --fommit-frame-pointer
  34. CFLAGS= -I. -I$(SDCC_HOME)/include/pic16 $(OPTS) -mpic16 -pp$(CHIP) --std-sdcc99 --model-small --vc --denable-peeps --optimize-goto --optimize-cmp --optimize-df --obanksel=2 --opt-code-speed --fommit-frame-pointer
  35. LINKER_SCRIPT= $(CHIP).lkr
  36. LIBS= libsdcc.lib libc18f.lib libio$(CHIP).lib pic$(CHIP).lib
  37. # .SUFFIXES: .c .asm .o .hex
  38. all: $(PROJ).hex
  39. $(OBJS): %.o: %.c Makefile
  40. $(CC) $(CFLAGS) -c $< -o $@
  41. #$(PROJ).hex: $(OBJS) $(LINKER_SCRIPT)
  42. # $(CC) $(CFLAGS) -L $(SDCC_HOME)/lib/pic16 -Wl,"-m -w -s $(LINKER_SCRIPT)" -o $(PROJ) $(OBJS) $(LIBS)
  43. disass:
  44. $(DIS) -p p$(CHIP) $(PROJ).hex > $(PROJ).lis
  45. progpicp: $(PROJ).hex
  46. # su root -c " $(FSUSB) --program $(PROJ).hex "
  47. # $(FSUSB) --program $(PROJ).hex
  48. $(PICP) /dev/ttyUSB0 $(CHIP) -ef -wp $(PROJ).hex -wc 0x0220 0x1e32 0x8000 0x0081 0xc00f 0xe00f 0x400f
  49. # 0x0224=quartz20MHz 0x0220=4MHz
  50. # 0x0e20 0x001a 0x0500 0x0080 0xc00f 0xe00f 0x400f
  51. # 0x0400=CCP2 on RB3; 0x0500 on RC1
  52. # 0x0e24=quartz20MHz 0x0e20=4MHz
  53. progpk2: $(PROJ).hex
  54. $(PK2CMD) -P -M -F$(PROJ).hex
  55. clean:
  56. rm -f $(OBJS) $(ASMS) $(LSTS) core .depend depend $(PROJ).cod $(PROJ).hex $(PROJ).lst
  57. #$(CRT).o: %.o: %.c
  58. # $(CC) $(CFLAGS) -c $< -o $@
  59. config.hex: config.c
  60. $(CC) $(CFLAGS) --no-crt -o config config.c
  61. #depend .depend dep:
  62. # for file in $(SRCS); do DIR=`dirname $$file`; echo -n $$DIR/ >> $@; $(CC) $(CFLAGS) -M $$file >> $@; done
  63. #archive:
  64. # cd ..; find D_143 -depth -not -type d -not -lname "*" -not -path "*~" > /tmp/backup3.files.txt; tar -c -j --files-from=/tmp/backup3.files.txt --file=$(HOME)/in/D_143.sdcc.$(VERSION).tar.bz2
  65. #dummy:
  66. # include a dependency file if one exists
  67. #ifeq (.depend,$(wildcard .depend))
  68. #include .depend
  69. #endif