Guo Wenxue
2022-04-08 4473a603e8e4bb8830cee61b7509e995f6cc0a1a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#*********************************************************************************
#      Copyright:  (C) 2012 Guo Wenxue<Email:guowenxue@gmail.com QQ:281143292>
#                  All rights reserved.
#
#       Filename:  Makefile
#    Description:  This Makefile used to compile all the C source code file in current 
#                  folder to one excutable binary files.
#                      
#        Version:  1.0.0(10/08/2011~)
#                  Author:  Guo Wenxue <guowenxue@gmail.com>
#      ChangeLog:  1, Release initial version on "11/11/2011 01:29:33 PM"
#                       
#********************************************************************************/
 
PWD=$(shell pwd)
INSTPATH=/usr/bin
 
CFLAGS+=-I${PWD}
#CFLAGS+=-Wall -Werror
 
MQTT_LIBPATH=mosquitto
 
LDFLAGS+=-lwiringPi
LDFLAGS+=-lpthread
 
VPATH= .
SRCS = $(wildcard ${VPATH}/*.c)
OBJS = $(patsubst %.c,%.o,$(SRCS))
 
#CC=arm-linux-
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
export CFLAGS+=-D_GNU_SOURCE
export LDFLAGS
 
 
CFLAGS+=-Ihal -Ietc -Ilylib 
LIBS+=-L hal -lhal -Letc -letc -Llylib -llylib
 
LIBS+=-lmosquitto -lpthread -lm
 
SRCFILES = $(wildcard *.c)
IMAGE_NAME=$(shell basename ${PWD})
 
all: entry modules binary
entry: 
    @echo " ";
    @echo " =========================================================";
    @echo " **        Compile \"${BINARIES}\" for ${ARCH}         ";
    @echo " =========================================================";
 
modules:
    make -C hal
    make -C lylib
    make -C etc
    cd ${MQTT_LIBPATH} && bash build.sh
 
binary:  ${SRCFILES}
    $(CC) $(CFLAGS) -o ${IMAGE_NAME} $^ ${LDFLAGS} ${LIBS}
    @echo " Compile over"
 
tag: 
    @ctags --c-kinds=+defglmnstuvx --langmap=c:.c.h.ho.hem.het.hec.hev.him.hit.hic.hiv -R .  
    @cscope -Rbq
 
install:
    @cp $(IMAGE_NAME) ${INSTPATH}
 
clean: 
    @make clean -C hal
    @make clean -C etc
    @make clean -C lylib
    @rm -f version.h 
    @rm -f *.o $(IMAGE_NAME) 
    @rm -rf *.gdb *.a *.so *.elf*
 
distclean: clean
    @rm -f  tags cscope*
 
.PHONY: clean entry