summaryrefslogtreecommitdiffhomepage
path: root/digital/zigbit/bitcloud/stack/Components/HAL/drivers/USBClasses/VCP/Makefile
blob: 604aa147929a006784af66add0164b88b23d739f (plain)
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
COMPONENTS_PATH = ../../../..
#include $(COMPONENTS_PATH)/Makerules
include $(MAKERULES)

DEBUG = NO

# Hardware flags.
CFLAGS += $(CFLAGS_HW)

##### PATHS FLAGS OF INCLUDES #########
CFLAGS += -I./include
CFLAGS += -I$(HAL_PATH)/include
CFLAGS += -I./../common/include
CFLAGS += -I$(SE_PATH)/include
CFLAGS += -I$(HAL_PATH)/drivers/include
CFLAGS += -I$(HAL_HWD_COMMON_PATH)/include

#### DEFINES FLAGS #######
ifeq ($(DEBUG), YES)
  CFLAGS += -DUSB_TRACE
endif

###### LIB ##########
BUILDDIR = .
COMMONBUILDDIR = ./../common

LIBDIR = ./../../lib
LDFLAGS = -L$(LIBDIR)
PROG = VCP.elf
LIBS = $(LIBDIR)/lib$(VCP_LIB).a

driver_label:
	@echo 
	@echo ----------------------------------------------------
	@echo VCP library creation.
	@echo ----------------------------------------------------

modules =             \
       vcpCdcProtocol \
       vcpVirtualUsart

commonModules =       \
       usbDescriptors \
       usbEnumeration \
       usbSetupProcess

objects = $(addsuffix .o,$(addprefix $(BUILDDIR)/objs/,$(modules)))
sources = $(addsuffix .c,$(addprefix $(BUILDDIR)/src/,$(modules)))

commonObjects = $(addsuffix .o,$(addprefix $(COMMONBUILDDIR)/objs/,$(commonModules)))
CommonSources = $(addsuffix .c,$(addprefix $(COMMONBUILDDIR)/src/,$(commonModules)))

OBJS  =  $(objects)
OBJS +=  $(commonObjects)

###### TARGETS ################
all: driver_label LIB_VCP
################
$(BUILDDIR)/objs/%.o: $(BUILDDIR)/src/%.c
	$(CC) $(CFLAGS) $^ -o $@
$(COMMONBUILDDIR)/objs/%.o: $(COMMONBUILDDIR)/src/%.c
	$(CC) $(CFLAGS) $^ -o $@

################
LIB_VCP : $(OBJS)
	$(AR) $(AR_KEYS) $(LIBDIR)/lib$(VCP_LIB).a $(OBJS)
	$(SIZE) -td $(LIBDIR)/lib$(VCP_LIB).a
################
clean:
	rm -f $(objects) $(LIBS) $(BUILDDIR)/list/*.*
	rm -f $(commonObjects) $(LIBS) $(COMMONBUILDDIR)/list/*.*