3 CC ?
= $(CROSS_COMPILE
)gcc
-static
4 LD ?
= $(CROSS_COMPILE
)ld
6 CFLAGS
:= --std
=gnu99
-Wall
-g
-Os
-D_GNU_SOURCE
-I.
$(EXTRACFLAGS
) -fPIC
7 CFLAGS
+= -ffunction-sections
-fdata-sections
8 CFLAGS
+= -Ilibubox
-static-libgcc
9 LDFLAGS
+= -ffunction-sections
-fdata-sections
-Wl
,--gc-sections
-Llibubox
-lubox
12 SOURCES
= main.c dev.c commands.c qmi-message.c
14 service_sources
= $(foreach service
,ctl dms nas pds wds wms wda
,qmi-message-
$(service
).c
)
15 service_headers
= $(service_sources
:.c
=.h
)
17 SOURCES
+= $(service_sources
)
24 .PHONY
: default_target
27 $(INSTALL
) -D
$(TARGET
) $(INSTALLDIR
)/$(PREFIX
)/sbin
/$(TARGET
)
31 @
rm -f
$(OBJS
) $(TARGET
) $(service_sources
) $(service_headers
) qmi-errors.c
35 all: gen-errors gen-headers
$(TARGET
)
38 gen-errors
: qmi-errors.c
42 qmi-errors.c
: qmi-errors.h data
/gen-error-list.pl
43 data
/gen-error-list.pl
$< > $@
45 gen-headers
: $(service_headers
)
49 qmi-message-
%.h
: data
/qmi-service-
%.json data
/gen-header.pl data
/gen-common.pm
50 data
/gen-header.pl
$*_
$< > $@
52 qmi-message-
%.c
: data
/qmi-service-
%.json data
/gen-code.pl data
/gen-common.pm
53 data
/gen-code.pl
$*_
$< > $@
55 qmi-message-
%.o
: CFLAGS
+= -Wno-unused
58 $(CC
) -o
$@
$(OBJS
) $(LDFLAGS
)
64 main.o
: main.c uqmi.h commands.h
65 dev.o
: dev.c qmi-errors.c qmi-errors.h uqmi.h
$(service_headers
)
66 commands.o
: commands.c uqmi.h commands.h
$(service_sources
) $(service_headers
)
67 qmi-message.o
: qmi-message.c qmi-message.h
$(service_headers
)