Miniupnpd: update to 2.0
[tomato.git] / release / src / router / uqmi / Makefile
blob194640913d538b872c1d18f0766499659ecdb50b
1 include ../common.mak
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
11 TARGET = uqmi
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)
18 OBJS=$(SOURCES:.c=.o)
21 PREFIX=/usr
23 default_target: all
24 .PHONY : default_target
26 install: all
27 $(INSTALL) -D $(TARGET) $(INSTALLDIR)/$(PREFIX)/sbin/$(TARGET)
28 .PHONY : install
30 clean:
31 @rm -f $(OBJS) $(TARGET) $(service_sources) $(service_headers) qmi-errors.c
32 .PHONY : clean
34 # The main all target
35 all: gen-errors gen-headers $(TARGET)
36 .PHONY : all
38 gen-errors: qmi-errors.c
39 @true
40 .PHONY : gen-errors
42 qmi-errors.c: qmi-errors.h data/gen-error-list.pl
43 data/gen-error-list.pl $< > $@
45 gen-headers: $(service_headers)
46 @true
47 .PHONY : gen-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
57 $(TARGET): $(OBJS)
58 $(CC) -o $@ $(OBJS) $(LDFLAGS)
60 .c.o::
61 $(CC) $(CFLAGS) -c $<
63 # Dependencies
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)