include all files
This commit is contained in:
38
Makefile
Normal file
38
Makefile
Normal file
@@ -0,0 +1,38 @@
|
||||
SHELL = /bin/sh
|
||||
.SUFFIXES:
|
||||
|
||||
CC = avr-gcc
|
||||
RM = rm -vf
|
||||
STRIP = avr-strip
|
||||
|
||||
CPPFLAGS ?= -DNDEBUG
|
||||
CFLAGS ?= -Os
|
||||
LDFLAGS ?= -nostdlib -nostartfiles -flto
|
||||
|
||||
CPPFLAGS += -Iinclude
|
||||
CFLAGS += -std=gnu99 -MMD -MP
|
||||
CFLAGS += -Wall -Wextra -Wpedantic -Wno-pointer-arith
|
||||
|
||||
SRC := $(wildcard src/*.c src/*/*.c src/*/*/*.c src/*/*/*/*.c src/*/*/*/*/*.c src/*/*/*/*/*/*.c src/*/*/*/*/*/*/*.c src/*/*/*/*/*/*/*/*.c)
|
||||
SRC += $(wildcard src/*.S src/*/*.S src/*/*/*.S src/*/*/*/*.S src/*/*/*/*/*.S src/*/*/*/*/*/*.S src/*/*/*/*/*/*/*.S src/*/*/*/*/*/*/*/*.S)
|
||||
OBJ := $(SRC:%=obj/%.o)
|
||||
|
||||
|
||||
all: bin/a.out
|
||||
clean:; @-$(RM) -r bin/ obj/
|
||||
|
||||
bin/a.out: $(OBJ)
|
||||
$(info [LD] $@)
|
||||
@mkdir -p $(@D)
|
||||
@$(CC) -o $@ $^ $(LDFLAGS) $(LDLIBS)
|
||||
|
||||
bin/a.hex: bin/a.out
|
||||
$(info [STRIP] $@)
|
||||
@$(STRIP) -o $@ $<
|
||||
|
||||
obj/%.o: %
|
||||
$(info [CC] $@)
|
||||
@mkdir -p $(@D)
|
||||
@$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
|
||||
|
||||
-include $(OBJ:%.o=%.d)
|
||||
Reference in New Issue
Block a user