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
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 \
15 server.cc irqs.cc debug.cc \
23 virt/vbus_factory.cc \
25 virt/pci/vpci_virtual_root.cc \
26 virt/pci/vpci_pci_bridge.cc \
29 pci/pci_iomem_root_bridge.cc \
36 SRC_CC_x86 = ux.cc $(addprefix acpi/,$(SRC_CC_ACPI))
37 SRC_CC_amd64 = ux.cc $(addprefix acpi/,$(SRC_CC_ACPI))
39 SRC_CC += $(SRC_CC_$(ARCH))
40 SRC_CC_IS_CXX11 = c++0x
43 REQUIRES_LIBS = libsigma0 libstdc++ libpciids lua++ libpthread
44 REQUIRES_LIBS_x86 = acpica
45 REQUIRES_LIBS_amd64 = acpica
47 REQUIRES_CFLAGS = libio-vbus libio-io
48 PRIVATE_INCDIR += $(SRC_DIR)
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))
57 $(SUBDIR_OBJS): $(OBJ_DIR)/%/OBJ-$(SYSTEM)/builtin.thin.a: %
58 $(VERBOSE)$(MAKE) $(MAKECMDGOALS) OBJ_BASE=$(OBJ_BASE)\
59 -C $(SRC_DIR)/$* $(MKFLAGS)
61 OBJS_io += $(SUBDIR_OBJS)
63 # regenerate shipped files
64 ifneq ($(REGEN_FILES),)
65 all:: $(SRC_DIR)/lua_glue.swg.h $(SRC_DIR)/lua_glue.swg.cc
67 SWIG_RM_EXT_C ?= $(L4DIR)/tool/bin/swig-rm-extern-c.pl
72 $(SRC_DIR)/%.swg.cc: $(SRC_DIR)/%.swg.c_cc $(SRC_DIR)/Makefile
74 $(VERBOSE)$(SWIG_RM_EXT_C) $< >$@
76 $(SRC_DIR)/%.swg.h: $(SRC_DIR)/%.swg.c_h
78 $(VERBOSE)$(SWIG_RM_EXT_C) $< >$@
80 SWIG_INCDIR:=-I$(SRC_DIR) -I$(SRC_DIR)/../../include -I$(L4DIR)/pkg
82 $(SRC_DIR)/%.swg.c_cc: $(SRC_DIR)/%.swg $(SRC_DIR)/Makefile
84 $(VERBOSE)$(SWIG) $(SWIG_INCDIR) -c++ -small -lua -o $@ $<
88 $(VERBOSE)$(SWIG) $(SWIG_INCDIR) -c++ -small -lua -external-runtime $@