| | |
| | | #********************************************************************************* |
| | | # 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) |
| | | |
| | | INST_PATH=/tftp |
| | | |
| | | LIB_PATH=$(shell dirname ${PWD} ) |
| | | LIB_NAME=$(shell basename ${LIB_PATH} ) |
| | | INSTPATH=/tftp |
| | | |
| | | CFLAGS+=-I${LIB_PATH} |
| | | LDFLAGS+=-L${LIB_PATH} -l${LIB_NAME} -lpthread |
| | | #ARCH ?= i386 |
| | | #ARCH?=arm926t |
| | | ARCH?=arm920t |
| | | |
| | | #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 |
| | | @make install |
| | | 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 |
| | | ${CROSSTOOL}gcc $(CFLAGS) -o $@ $< $(LDFLAGS) |
| | | $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) |
| | | |
| | | install: |
| | | cp ${BINARIES} ${INST_PATH} |
| | | cp $(BINARIES) ${INSTPATH} |
| | | |
| | | clean: |
| | | @rm -f ${BINARIES} |
| | | @rm -f *.log |
| | | @rm -f *.o *.log $(BINARIES) |
| | | |
| | | distclean: |
| | | @make clean |
| | | @make clean -C ${LIB_PATH} |
| | | @rm -f cscope.* tags |
| | | distclean: clean |
| | | @rm -f tags cscope* |
| | | |
| | | .PHONY: clean entry |