LingYun Studio embeded system framwork software, such as thirdparty build shell and lingyun library
guowenxue
2024-08-19 9ada9cdc52c22fabb658680d3869d3ab6ab87f61
booster/test/makefile
@@ -1,30 +1,64 @@
#*********************************************************************************
#      Copyright:  (C) 2022 Guo Wenxue
#                  All rights reserved.
#
#       Filename:  Makefile
#    Description:  This Makefile used to compile all the C source code file in current
#                  folder to respective excutable binary files.
#
#        Version:  1.0.0(03/15/2022~)
#                  Author:  Guo Wenxue <guowenxue@gmail.com>
#      ChangeLog:  1, Release initial version on "03/15/2022 01:29:33 PM"
#
#********************************************************************************/
PWD=$(shell pwd)
LIB_PATH=$(shell dirname ${PWD})
LIB_NAME=$(shell basename ${LIB_PATH})
INSTPATH=/tftp
LIB_PATH=$(shell dirname ${PWD} )
LIB_NAME=$(shell basename ${LIB_PATH} )
#ARCH ?= i386
#ARCH?=arm926t
ARCH?=arm920t
CFLAGS+=-I${LIB_PATH}
LDFLAGS+=-L${LIB_PATH} -l${LIB_NAME} -lpthread
#LINK_MODE=STATIC
MODE=PRODUCTION
DEBUG=1
INSTPATH=/tftp
CROSS_COMPILE?=arm-linux-gnueabihf-
export CC=${CROSS_COMPILE}gcc
export CXX=${CROSS_COMPILE}g++
export AR=${CROSS_COMPILE}ar
export AS=${CROSS_COMPILE}as
export RANLIB=${CROSS_COMPILE}ranlib
export STRIP=${CROSS_COMPILE}strip
SRCS = $(wildcard ${VPATH}/*.c)
OBJS = $(patsubst %.c,%.o,$(SRCS))
SRCFILES = $(wildcard *.c)
BINARIES=$(SRCFILES:%.c=%)
all: libs binaries
CFLAGS+=-I${LIB_PATH}
LDFLAGS+=-L${LIB_PATH} -l${LIB_NAME}
libs:
   make -C ${LIB_PATH}
all: binaries install
binaries:  ${BINARIES}
   @echo " Compile over"
%:  %.c
   $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
clean:
   @rm -f ${BINARIES}
   @rm -f *.log
install:
   cp $(BINARIES) ${INSTPATH}
distclean:
   @make clean
   @rm -f cscope.* tags
clean:
   @rm -f *.o *.log $(BINARIES)
distclean: clean
   @rm -f  tags cscope*
.PHONY: clean entry