Skip to content

Commit 2033ff3

Browse files
committed
Fixes in Makefile and size.sh script.
1 parent 68451ce commit 2033ff3

File tree

2 files changed

+25
-26
lines changed

2 files changed

+25
-26
lines changed

Makefile

+18-22
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ TARG = ampcontrol_m16_$(call lc,$(AUDIOPROC))_$(call lc,$(DISPLAY))_$(call lc,$(
1010

1111
SPECT_SRC = fft.c adc.c
1212
CTRL_SRC = input.c rc5.c
13-
TUNER_SRC = tuner/tea5767.c
1413

1514
ifeq ($(AUDIOPROC), TDA7313)
1615
AUDIO_SRC = audio/tda7313.c
@@ -22,15 +21,15 @@ endif
2221

2322
FONTS = font-ks0066-ru-08.c font-ks0066-ru-24.c font-digits-32.c
2423
ifeq ($(DISPLAY), KS0108)
25-
DISP_SRC = $(addprefix display/, ks0108.c $(FONTS))
24+
DISP_SRC = display.c $(addprefix display/, ks0108.c $(FONTS))
2625
else ifeq ($(DISPLAY), KS0066)
27-
DISP_SRC = display/ks0066.c
26+
DISP_SRC = display.c display/ks0066.c
2827
else ifeq ($(DISPLAY), LS020)
29-
DISP_SRC = $(addprefix display/, ls020.c $(FONTS))
28+
DISP_SRC = display.c $(addprefix display/, ls020.c $(FONTS))
3029
else ifeq ($(DISPLAY), PCF8574)
31-
DISP_SRC = display/pcf8574.c
30+
DISP_SRC = display.c display/pcf8574.c
3231
else ifeq ($(DISPLAY), ST7920)
33-
DISP_SRC = $(addprefix display/, st7920.c $(FONTS))
32+
DISP_SRC = display.c $(addprefix display/, st7920.c $(FONTS))
3433
endif
3534

3635
ifeq ($(TUNER), TEA5767)
@@ -43,8 +42,7 @@ else ifeq ($(TUNER), RDA5807)
4342
TUNER_SRC = tuner.c tuner/rda5807.c
4443
endif
4544

46-
SRCS_CONST = eeprom.c i2c.c ds1307.c $(SPECT_SRC) $(CTRL_SRC) $(AUDIO_SRC) $(DISP_SRC)
47-
SRCS_VAR = main.c display.c $(TUNER_SRC)
45+
SRCS = main.c eeprom.c i2c.c ds1307.c $(SPECT_SRC) $(CTRL_SRC) $(AUDIO_SRC) $(DISP_SRC) $(TUNER_SRC)
4846

4947
MCU = atmega16
5048
F_CPU = 16000000L
@@ -64,29 +62,27 @@ AD_MCU = -p $(MCU)
6462

6563
AD_CMDLINE = $(AD_MCU) $(AD_PROG) $(AD_PORT)
6664

67-
OBJS_CONST = $(SRCS_CONST:.c=.o)
68-
OBJS_VAR = $(SRCS_VAR:.c=.o)
69-
OBJS = $(OBJS_CONST) $(OBJS_VAR)
65+
OBJS = $(SRCS:.c=.o)
66+
67+
OBJDIR = obj
7068

7169
all: $(TARG)
7270

7371
$(TARG): $(OBJS)
74-
$(CC) $(LDFLAGS) -o $@.elf $(OBJS) -lm
72+
$(CC) $(LDFLAGS) -o $(addprefix $(OBJDIR)/, $@.elf $(OBJS)) -lm
7573
mkdir -p flash
76-
$(OBJCOPY) -O ihex -R .eeprom -R .nwram $@.elf flash/$@.hex
77-
./size.sh $@.elf
74+
$(OBJCOPY) -O ihex -R .eeprom -R .nwram $(addprefix $(OBJDIR)/, $@.elf) flash/$@.hex
75+
./size.sh $(addprefix $(OBJDIR)/, $@.elf)
7876

7977
%.o: %.c
80-
$(CC) $(CFLAGS) -D$(AUDIOPROC) -D$(DISPLAY) -D$(TUNER) -c -o $@ $<
81-
82-
clean_var:
83-
rm -f $(OBJS_VAR)
84-
85-
clean_const:
86-
rm -f $(OBJS_CONST)
78+
mkdir -p $(dir $(OBJDIR)/$@)
79+
$(CC) $(CFLAGS) -D$(AUDIOPROC) -D$(DISPLAY) -D$(TUNER) -c -o $(OBJDIR)/$@ $<
8780

8881
clean:
89-
rm -f *.o */*.o
82+
rm -rf $(OBJDIR)
83+
84+
mrproper: clean
85+
rm -rf flash
9086

9187
flash: $(TARG)
9288
$(AVRDUDE) $(AD_CMDLINE) -V -B 1.1 -U flash:w:flash/$(TARG).hex:i

size.sh

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
#!/bin/bash
22

3+
bold=$(tput bold 2>/dev/null)
4+
red=$(tput setaf 1 2>/dev/null)
5+
cyan=$(tput setaf 6 2>/dev/null)
6+
normal=$(tput sgr0 2>/dev/null)
7+
38
text=$(avr-size $1 | grep $1 | xargs | cut -d ' ' -f1)
49
data=$(avr-size $1 | grep $1 | xargs | cut -d ' ' -f2)
510
bss=$(avr-size $1 | grep $1 | xargs | cut -d ' ' -f3)
611

7-
rm $1
8-
912
echo
1013
echo "AVR Memory Usage:"
1114
echo
12-
echo "Program: $(($text + $data)) bytes (.text + .data)"
13-
echo "Data: $(($data + $bss)) bytes (.data + .bss)"
15+
echo -e "Program: ${bold}${red}$(($text + $data))${normal} bytes (.text + .data)"
16+
echo -e "Data: ${bold}${cyan}$(($data + $bss))${normal} bytes (.data + .bss)"
1417
echo

0 commit comments

Comments
 (0)