mirror of
https://github.com/m5stack/M5Stack_MicroPython.git
synced 2026-05-20 10:14:44 -07:00
98 lines
1.8 KiB
Makefile
98 lines
1.8 KiB
Makefile
TARGET = mklfs
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
TARGET_OS := WINDOWS
|
|
DIST_SUFFIX := windows
|
|
ARCHIVE_CMD := 7z a
|
|
ARCHIVE_EXTENSION := zip
|
|
TARGET := mklfs.exe
|
|
TARGET_CFLAGS := -mno-ms-bitfields
|
|
TARGET_LDFLAGS := -Wl,-static -static-libgcc
|
|
CC=gcc
|
|
CXX=g++
|
|
else
|
|
UNAME_S := $(shell uname -s)
|
|
ifeq ($(UNAME_S),Linux)
|
|
TARGET_OS := LINUX
|
|
UNAME_P := $(shell uname -p)
|
|
ifeq ($(UNAME_P),x86_64)
|
|
DIST_SUFFIX := linux64
|
|
endif
|
|
ifneq ($(filter %86,$(UNAME_P)),)
|
|
DIST_SUFFIX := linux32
|
|
endif
|
|
CC = cc
|
|
AR = ar
|
|
endif
|
|
ifeq ($(UNAME_S),Darwin)
|
|
TARGET_OS := OSX
|
|
DIST_SUFFIX := osx
|
|
CC=clang
|
|
CXX=clang++
|
|
TARGET_CFLAGS = -mmacosx-version-min=10.7 -arch i386 -arch x86_64
|
|
TARGET_CXXFLAGS = -mmacosx-version-min=10.7 -arch i386 -arch x86_64 -stdlib=libc++
|
|
TARGET_LDFLAGS = -arch i386 -arch x86_64 -stdlib=libc++
|
|
endif
|
|
ARCHIVE_CMD := tar czf
|
|
ARCHIVE_EXTENSION := tar.gz
|
|
TARGET := mklfs
|
|
endif
|
|
|
|
OS := $(shell uname -s)
|
|
|
|
SIZE = size
|
|
|
|
SRC += $(wildcard *.c littlefs/*.c)
|
|
OBJ := $(SRC:.c=.o)
|
|
DEP := $(SRC:.c=.d)
|
|
ASM := $(SRC:.c=.s)
|
|
|
|
ifdef DEBUG
|
|
override CFLAGS += -O0 -g3
|
|
else
|
|
override CFLAGS += -Os
|
|
endif
|
|
ifdef WORD
|
|
override CFLAGS += -m$(WORD)
|
|
endif
|
|
|
|
override CFLAGS += -I. -Ilittlefs
|
|
override CFLAGS += -std=c99 -Wall -pedantic $(TARGET_CFLAGS)
|
|
override CFLAGS += -D_FILE_OFFSET_BITS=64
|
|
override CFLAGS += -D_XOPEN_SOURCE=700
|
|
|
|
override LFLAGS += -lfuse
|
|
|
|
ifeq ($(OS), FreeBSD)
|
|
override CFLAGS += -I /usr/local/include
|
|
override CFLAGS += -D __BSD_VISIBLE
|
|
override LFLAGS += -L /usr/local/lib
|
|
endif
|
|
|
|
all: $(TARGET)
|
|
|
|
asm: $(ASM)
|
|
|
|
size: $(OBJ)
|
|
$(SIZE) -t $^
|
|
|
|
-include $(DEP)
|
|
|
|
$(TARGET): $(OBJ)
|
|
$(CC) $(CFLAGS) $^ $(LFLAGS) -o $@
|
|
|
|
%.a: $(OBJ)
|
|
$(AR) rcs $@ $^
|
|
|
|
%.o: %.c
|
|
$(CC) -c -MMD $(CFLAGS) $< -o $@
|
|
|
|
%.s: %.c
|
|
$(CC) -S $(CFLAGS) $< -o $@
|
|
|
|
clean:
|
|
rm -f $(TARGET)
|
|
rm -f $(OBJ)
|
|
rm -f $(DEP)
|
|
rm -f $(ASM)
|