Makefile 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. ##
  2. ## Made by fabien le mentec <texane@gmail.com>
  3. ##
  4. ## Started on Sun Sep 20 00:28:27 2009 texane
  5. ## Last update Sun Feb 7 11:35:53 2010 texane
  6. ##
  7. PATH := $(PATH):/usr/share/pk2
  8. CC := /home/texane/proj/present/pic/18f4550/tools/sdcc/bin/sdcc
  9. CFLAGS := -mpic16 \
  10. --model-large \
  11. -p18f4550 -Dpic18f4550 \
  12. -DSDCC_PIC18 \
  13. -DCONFIG_ENABLE_SERIAL \
  14. -DCONFIG_ENABLE_I2C \
  15. -I../src \
  16. -Wa -DSDCC
  17. AS := gpasm
  18. ASFLAGS := -q -p18f4550 -Dpic18f4550 \
  19. -I /usr/share/gputils/header \
  20. -DSDCC
  21. LD := gplink
  22. LDFLAGS := -w -r --map -s ../src/18f4550.lkr \
  23. -I/usr/local/share/sdcc \
  24. -I/usr/local/share/sdcc/lib/pic16
  25. LIBS := libdev18f4550.lib libsdcc.lib libc18f.lib
  26. LIB := gplib -c
  27. NAME := slave.hex
  28. CSRCS := ../src/main.c \
  29. ../src/osc.c \
  30. ../src/int.c \
  31. ../src/serial.c \
  32. ../src/i2c.c
  33. ASRCS :=
  34. OBJS := $(CSRCS:.c=.o) \
  35. $(ASRCS:.asm=.o)
  36. GARBAGE := $(NAME:.hex=.lst) \
  37. $(NAME:.hex=.cod) \
  38. $(CSRCS:.c=.lst) \
  39. $(CSRCS:.c=.cod) \
  40. $(CSRCS:.c=.asm) \
  41. $(CSRCS:.c=.map)
  42. # rules
  43. all : $(NAME)
  44. $(NAME) : $(OBJS)
  45. $(LD) $(LDFLAGS) -o $(NAME) $(OBJS) crt0i.o $(LIBS)
  46. %.o : %.c
  47. $(CC) $(CFLAGS) -c -o $(@) $(<)
  48. %.o : %.asm
  49. $(AS) $(ASFLAGS) -c -o $(@) $(<)
  50. PHONY : clean fclean re write erase test
  51. clean :
  52. $(RM) $(OBJS)
  53. $(RM) $(GARBAGE)
  54. $(RM) slave.map
  55. fclean : clean
  56. $(RM) $(NAME)
  57. re : fclean all
  58. write : $(NAME)
  59. pk2cmd -PPIC18f4550 -M -F$(NAME)
  60. erase :
  61. pk2cmd -PPIC18F4550 -E
  62. verify :
  63. pk2cmd -PPIC18f4550 -Y -F$(NAME)
  64. test : write
  65. ../linux/build/serial /dev/ttyUSB0 0