Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 3.80 KB | None | 0 0
  1. TARGET  = InternetRadio
  2.  
  3. ETHERNUT_VERSION = ethernut-4.3.3
  4. WINAVR_VERSION = WinAVR-20070525
  5. MCU = atmega2561
  6.  
  7.  
  8. # Application source en include includes
  9. SRC_DIR = ./src
  10. INC_DIR = ./src
  11.  
  12. # NutOS location (includes and libs)
  13. NUT_INC = c:/$(ETHERNUT_VERSION)/nut/include
  14. NUT_LIB_DIR = c:/$(ETHERNUT_VERSION)/nutbld/lib
  15.  
  16. # WinAvr includes
  17. AVR_INC = c:/$(WINAVR_VERSION)/avr/include
  18. AVR_BIN = C:/$(WINAVR_VERSION)/bin
  19. AVR_UTIL_BIN = C:/$(WINAVR_VERSION)/utils/bin
  20.  
  21.  
  22. # Compiler, assembler & linker (flags)
  23. CC      =   $(AVR_BIN)/avr-gcc
  24. CFLAGS  =   -mmcu=$(MCU) -Os -Wall -Wstrict-prototypes -DNUT_CPU_FREQ=14745600 \
  25.             -D__HARVARD_ARCH__ -DNUTOS_VERSION=433 \
  26.             -Wa,-ahlms=$(SRC_DIR)/$*lst
  27. ASFLAGS =   -mmcu=$(MCU) -I. -x assembler-with-cpp -Wa,-ahlms=$(SRC_DIR)/$*lst,-gstabs
  28. LDFLAGS =   -mmcu=$(MCU) -Wl,--defsym=main=0,-Map=TIStreamer.map,--cref
  29.  
  30.  
  31. # =================================================================================
  32. # Source files
  33. CFILES =        main.c                      \
  34.                 hardware/hl_uart0driver.c   \
  35.                 hardware/hl_log.c           \
  36.                 hardware/hl_led.c           \
  37.                 hardware/hl_keyboard.c      \
  38.                 hardware/hl_display.c       \
  39.                 hardware/hl_vs10xx.c        \
  40.                 hardware/hl_remcon.c        \
  41.                 hardware/hl_watchdog.c      \
  42.                 hardware/hl_mmc.c           \
  43.                 hardware/hl_spidrv.c        \
  44.                 hardware/hl_mmcdrv.c        \
  45.                 hardware/hl_fat.c           \
  46.                 hardware/hl_flash.c         \
  47.                 hardware/hl_rtc.c           \
  48.                 driver/dl_keyboard_driver.c \
  49.                 driver/dl_display_driver.c  \
  50.                 driver/dl_led_driver.c      \
  51.                 driver/dl_rtc_driver.c      \
  52.                 driver/dl_fat.c             \
  53.                 driver/dl_inet_driver.c     \
  54.                 driver/dl_audio_driver.c    \
  55.                 driver/dl_storage_driver.c  \
  56.                 driver/dl_log_driver.c      \
  57.                 driver/dl_streamer_driver.c \
  58.                 logic/menu/ll_menu_time.c       \
  59.                 logic/menu/ll_menu_alarm.c      \
  60.                 logic/menu/ll_menu_settings.c   \
  61.                 logic/menu/settings/Il_menu_settings_date.c \
  62.                 logic/menu/settings/Il_menu_settings_time.c \
  63.                 logic/menu/settings/ll_menu_settings_alarm.c \
  64.                 logic/menu/settings/ll_menu_settings_timezone.c \
  65.                 logic/menu/settings/ll_menu_settings_volume.c \
  66.                 logic/menu/settings/ll_menu_settings_snooze.c \
  67.                 logic/menu/settings/ll_menu_settings_summertime.c \
  68.                 logic/menu/settings/ll_menu_settings_mac.c \
  69.                 logic/menu/settings/editor/ll_menu_settings_alarm_editor.c \
  70.                 logic/menu/settings/editor/ll_menu_settings_time_editor.c \
  71.                 logic/menu/settings/editor/ll_menu_settings_date_editor.c \
  72.                 logic/menu/ll_menu_ipr.c \
  73.                 logic/menu/IPR/ll_menu_IPR_dino_game.c \
  74.                 logic/menu/IPR/ll_menu_IPR_dino_game_play.c \
  75.                 logic/menu/IPR/ll_menu_IPR_sleep_schedule.c \
  76.                 logic/menu/IPR/ll_menu_IPR_RSS_feed.c \
  77.                 logic/menu/IPR/ll_menu_IPR_openweather.c \
  78.                 logic/menu/IPR/ll_menu_IPR_celebration_day.c \
  79.                 logic/ll_menu_logic.c       \
  80.                 logic/ll_clock_logic.c      \
  81.                 logic/ll_inet_logic.c       \
  82.                
  83. # Header files.
  84. HFILES =        {wildcard *.h}
  85.  
  86.  
  87. # Alle source files in de ./source dir
  88. SRCS =  $(addprefix $(SRC_DIR)/,$(CFILES))
  89. OBJS =  $(SRCS:.c=.o)
  90.  
  91. NUT_LIBS = $(NUT_LIB_DIR)/nutinit.o -lnutpro -lnutnet -lnutpro -lnutfs -lnutos -lnutdev -lnutarch -lnutnet -lnutcrt -lnutdev
  92.  
  93.  
  94. # Alle includes (header files) in de ./header dir
  95. INCS =  $(addprefix $(INC_DIR)/,$(HFILES))
  96.  
  97. # Linking rule. All *.o to elf file. Then convert to *.hex
  98. $(TARGET):  $(OBJS)
  99.     $(CC) $(OBJS) $(LDFLAGS) -L$(NUT_LIB_DIR) $(NUT_LIBS) -o $@.elf
  100.     avr-objcopy -O ihex $@.elf $@.hex
  101. #   hex2bin -ebin $@.hex
  102.  
  103. # Compiling the objs's. avr-gcc autocalls assembler
  104. $(SRC_DIR)/%o:  $(SRC_DIR)/%c
  105.     $(CC) -c $< $(CFLAGS) -I$(INC_DIR) -I$(NUT_INC) -I$(AVR_INC) -o $@
  106.  
  107.    
  108. all: $(TARGET)
  109.  
  110.  
  111. debug: CFLAGS += -DDEBUG -g3
  112. debug: $(TARGET)
  113.  
  114. .PHONY: clean
  115. clean:
  116.     rm -f $(OBJS)
  117.     rm -f $(SRCS:.c=.lst)
  118.     rm -f InternetRadio.elf InternetRadio.hex TIStreamer.map
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement