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:
 |