]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/io/io/server/src/Make.rules
Update
[l4.git] / l4 / pkg / io / io / server / src / Make.rules
1 # vi:ft=make
2 #MODE   := shared
3 TARGET  = io
4
5 SUBDIRS       = drivers
6
7 SRC_CC_ACPI   = acpi.cc acpi_sci.cc acpi_osl.cc pci-acpi.cc
8 SRC_CC_PCI    = pci.cc pci_iomem_root_bridge.cc msi.cc pm.cc
9
10 SRC_CC := main.cc res.cc phys_space.cc resource.cc hw_device.cc \
11           hw_root_bus.cc device.cc hw_irqs.cc \
12           hw_register_block.cc \
13           dma_domain.cc \
14           gpio.cc \
15           server.cc irqs.cc debug.cc \
16           lua_glue.swg.cc \
17           pm.cc \
18           virt/vdevice.cc \
19           virt/vmsi.cc \
20           virt/vicu.cc \
21           virt/vbus.cc \
22           virt/vproxy_dev.cc \
23           virt/vbus_factory.cc \
24           virt/pci/vpci.cc \
25           virt/pci/vpci_virtual_root.cc \
26           virt/pci/vpci_pci_bridge.cc \
27           virt/gpio/vgpio.cc \
28           pci/pci.cc \
29           pci/pci_iomem_root_bridge.cc \
30           pci/msi.cc \
31           pci/pm.cc \
32           inhibitor_mux.cc \
33           platform_control.cc \
34
35
36 SRC_CC_x86    = ux.cc $(addprefix acpi/,$(SRC_CC_ACPI))
37 SRC_CC_amd64  = ux.cc $(addprefix acpi/,$(SRC_CC_ACPI))
38
39 SRC_CC       += $(SRC_CC_$(ARCH))
40 SRC_CC_IS_CXX11 = c++0x
41 OPTS         := -g -O3
42
43 REQUIRES_LIBS   = libsigma0 libstdc++ libpciids lua++ libpthread
44 REQUIRES_LIBS_x86 = acpica
45 REQUIRES_LIBS_amd64 = acpica
46
47 REQUIRES_CFLAGS = libio-vbus libio-io
48 PRIVATE_INCDIR += $(SRC_DIR)
49
50 # implementation of lib_subdir, similar to lib_subdir.mk
51 SUBDIRS += $(SUBDIRS_$(ARCH)) $(SUBDIRS_$(OSYSTEM))
52 SUBDIR_TARGETS := $(addsuffix /OBJ-$(SYSTEM)/builtin.thin.a,$(SUBDIRS))
53 SUBDIR_OBJS     = $(addprefix $(OBJ_DIR)/,$(SUBDIR_TARGETS))
54
55 all::
56
57 $(SUBDIR_OBJS): $(OBJ_DIR)/%/OBJ-$(SYSTEM)/builtin.thin.a: %
58         $(VERBOSE)$(MAKE) $(MAKECMDGOALS) OBJ_BASE=$(OBJ_BASE)\
59                           -C $(SRC_DIR)/$* $(MKFLAGS)
60
61 OBJS_io        += $(SUBDIR_OBJS)
62
63 # regenerate shipped files
64 ifneq ($(REGEN_FILES),)
65 all:: $(SRC_DIR)/lua_glue.swg.h $(SRC_DIR)/lua_glue.swg.cc
66
67 SWIG_RM_EXT_C ?= $(L4DIR)/tool/bin/swig-rm-extern-c.pl
68 SWIG          ?= swig
69
70 %.swg:
71
72 $(SRC_DIR)/%.swg.cc: $(SRC_DIR)/%.swg.c_cc $(SRC_DIR)/Makefile
73         @$(GEN_MESSAGE)
74         $(VERBOSE)$(SWIG_RM_EXT_C) $< >$@
75
76 $(SRC_DIR)/%.swg.h: $(SRC_DIR)/%.swg.c_h
77         @$(GEN_MESSAGE)
78         $(VERBOSE)$(SWIG_RM_EXT_C) $< >$@
79
80 SWIG_INCDIR:=-I$(SRC_DIR) -I$(SRC_DIR)/../../include -I$(L4DIR)/pkg
81
82 $(SRC_DIR)/%.swg.c_cc: $(SRC_DIR)/%.swg $(SRC_DIR)/Makefile
83         @$(GEN_MESSAGE)
84         $(VERBOSE)$(SWIG) $(SWIG_INCDIR) -c++ -small -lua -o $@ $<
85
86 $(SRC_DIR)/%.swg.c_h:
87         @$(GEN_MESSAGE)
88         $(VERBOSE)$(SWIG) $(SWIG_INCDIR) -c++ -small -lua -external-runtime $@
89
90 endif