121 lines
3.3 KiB
Makefile
121 lines
3.3 KiB
Makefile
#############################################################
|
|
# Required variables for each makefile
|
|
# Discard this section from all parent makefiles
|
|
# Expected variables (with automatic defaults):
|
|
# CSRCS (all "C" files in the dir)
|
|
# SUBDIRS (all subdirs with a Makefile)
|
|
# GEN_LIBS - list of libs to be generated ()
|
|
# GEN_IMAGES - list of object file images to be generated ()
|
|
# GEN_BINS - list of binaries to be generated ()
|
|
# COMPONENTS_xxx - a list of libs/objs in the form
|
|
# subdir/lib to be extracted and rolled up into
|
|
# a generated lib/image xxx.a ()
|
|
#
|
|
|
|
TOP_DIR:= $(WM_SDK)
|
|
|
|
sinclude $(TOP_DIR)/tools/tool_chain.def
|
|
|
|
USE_LIB=1
|
|
|
|
CSRCS = $(wildcard *.c) $(wildcard wasm3/*.c)
|
|
|
|
#EXTRA_CCFLAGS += -u
|
|
ifndef PDIR
|
|
GEN_IMAGES= $(TARGET).out
|
|
GEN_BINS = $(TARGET).bin
|
|
SUBDIRS = \
|
|
$(TOP_DIR)/platform/boot/$(COMPILE)
|
|
|
|
ifeq ($(USE_LIB), 0)
|
|
SUBDIRS += \
|
|
$(TOP_DIR)/platform/common \
|
|
$(TOP_DIR)/platform/drivers \
|
|
$(TOP_DIR)/platform/sys \
|
|
$(TOP_DIR)/src/os \
|
|
$(TOP_DIR)/src/app \
|
|
$(TOP_DIR)/src/network
|
|
endif
|
|
endif
|
|
|
|
COMPONENTS_$(TARGET) = \
|
|
$(TOP_DIR)/platform/boot/$(COMPILE)/startup.o \
|
|
$(TOP_DIR)/platform/boot/$(COMPILE)/misc.o \
|
|
$(TOP_DIR)/platform/boot/$(COMPILE)/retarget.o
|
|
|
|
ifeq ($(USE_LIB), 0)
|
|
COMPONENTS_$(TARGET) += \
|
|
$(TOP_DIR)/platform/common/libcommon$(LIB_EXT) \
|
|
$(TOP_DIR)/platform/drivers/libdrivers$(LIB_EXT) \
|
|
$(TOP_DIR)/platform/sys/libsys$(LIB_EXT) \
|
|
$(TOP_DIR)/src/os/libos$(LIB_EXT) \
|
|
$(TOP_DIR)/src/network/libnetwork$(LIB_EXT) \
|
|
$(TOP_DIR)/src/app/libapp$(LIB_EXT)
|
|
endif
|
|
|
|
ifeq ($(USE_LIB), 1)
|
|
LINKLIB = \
|
|
$(TOP_DIR)/lib/libcommon$(LIB_EXT) \
|
|
$(TOP_DIR)/lib/libdrivers$(LIB_EXT) \
|
|
$(TOP_DIR)/lib/libsys$(LIB_EXT) \
|
|
$(TOP_DIR)/lib/libos$(LIB_EXT) \
|
|
$(TOP_DIR)/lib/libnetwork$(LIB_EXT) \
|
|
$(TOP_DIR)/lib/libapp$(LIB_EXT)
|
|
endif
|
|
|
|
LINKLIB += \
|
|
$(TOP_DIR)/lib/libairkiss_log$(LIB_EXT) \
|
|
$(TOP_DIR)/lib/libwlan$(LIB_EXT)
|
|
|
|
ifeq ($(COMPILE), gcc)
|
|
LINKFLAGS_$(TARGET) = \
|
|
$(LINKLIB) \
|
|
-T$(LD_FILE) \
|
|
-Wl,-warn-common
|
|
else
|
|
LINKFLAGS_$(TARGET) = \
|
|
--library_type=microlib \
|
|
$(LINKLIB) \
|
|
--strict --scatter $(LD_FILE)
|
|
endif
|
|
|
|
#############################################################
|
|
# Configuration i.e. compile options etc.
|
|
# Target specific stuff (defines etc.) goes in here!
|
|
# Generally values applying to a tree are captured in the
|
|
# makefile at its root level - these are then overridden
|
|
# for a subtree within the makefile rooted therein
|
|
#
|
|
|
|
CONFIGURATION_DEFINES += -DWM_W600
|
|
|
|
DEFINES += $(CONFIGURATION_DEFINES) -Os -flto -Wfatal-errors \
|
|
-fomit-frame-pointer -fno-stack-check -fno-stack-protector \
|
|
-Wno-unused-function -Wno-unused-variable -Wno-unused-parameter -Wno-missing-field-initializers
|
|
# -Dd_m3FixedHeap=8192
|
|
# -fno-optimize-sibling-calls
|
|
|
|
LINKFLAGS_$(TARGET) += -Os -flto
|
|
|
|
LINKLIB += -lm
|
|
|
|
#############################################################
|
|
# Recursion Magic - Don't touch this!!
|
|
#
|
|
# Each subtree potentially has an include directory
|
|
# corresponding to the common APIs applicable to modules
|
|
# rooted at that subtree. Accordingly, the INCLUDE PATH
|
|
# of a module can only contain the include directories up
|
|
# its parent path, and not its siblings
|
|
#
|
|
# Required for each makefile to inherit from the parent
|
|
#
|
|
|
|
INCLUDES := $(INCLUDES) -I$(PDIR)include
|
|
INCLUDES += -I ./ -I ./wasm3/
|
|
|
|
sinclude $(TOP_DIR)/tools/rules.mk
|
|
|
|
.PHONY: FORCE
|
|
FORCE:
|