forked from shenghaoyang/stc_led_clock_8k
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
55 lines (42 loc) · 1.21 KB
/
Makefile
File metadata and controls
55 lines (42 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Makefile para STC15 LED Clock
CC = sdcc
CFLAGS = --std-sdcc11 --code-size 13312 --iram-size 256
INCLUDES = -Iinclude -I/usr/share/sdcc/include/mcs51 -I/usr/share/sdcc/include
SRC_DIR = src
INC_DIR = include
REL_DIR = Release
BIN_DIR = Binary
SOURCES = main.c eeprom.c adc.c alarm.c button.c crc.c display.c ds1302.c fsm.c ledfonts.c timer.c
SRC_FILES = $(addprefix $(SRC_DIR)/,$(SOURCES))
REL_FILES = $(addprefix $(REL_DIR)/,$(SOURCES:.c=.rel))
TARGET = DIY_Firmware_13k
.PHONY: all clean size help
all: $(BIN_DIR)/$(TARGET).ihx
$(BIN_DIR)/$(TARGET).ihx: $(REL_FILES) | $(BIN_DIR)
@echo 'Linking: $@'
$(CC) -o $@ $(REL_FILES)
@echo 'Done'
$(REL_DIR)/%.rel: $(SRC_DIR)/%.c | $(REL_DIR)
@echo 'Building: $<'
$(CC) -c $(CFLAGS) $(INCLUDES) $< -o $@
$(REL_DIR):
@mkdir -p $(REL_DIR)
@touch $(REL_DIR)/.gitkeep
$(BIN_DIR):
@mkdir -p $(BIN_DIR)
@touch $(BIN_DIR)/.gitkeep
clean:
@rm -f $(REL_DIR)/*.rel
@rm -f $(REL_DIR)/*.asm
@rm -f $(REL_DIR)/*.rst
@rm -f $(REL_DIR)/*.sym
@rm -f $(REL_DIR)/*.lst
@rm -f $(BIN_DIR)/*.ihx
@rm -f $(BIN_DIR)/*.lk
@rm -f $(BIN_DIR)/*.mem
@rm -f $(BIN_DIR)/*.map
@echo 'Clean done'
size: $(BIN_DIR)/$(TARGET).ihx
@./check_size.sh
help:
@echo 'Targets: all, clean, size, help'