| # |
| # Copyright 2009 The Android Open Source Project |
| # |
| # Android.mk for building the lcc compiler for arm. |
| # |
| |
| |
| BUILD_LCC := false |
| ifneq ($(TARGET_SIMULATOR),true) # not 64 bit clean |
| |
| ifeq ($(HOST_OS),darwin) |
| BUILD_LCC := true |
| endif |
| |
| ifeq ($(HOST_OS),linux) |
| BUILD_LCC := true |
| endif |
| |
| endif # TARGET_SIMULATOR |
| |
| # Do not build LCC for now. We are not currently using it. |
| BUILD_LCC := false |
| |
| ifeq ($(BUILD_LCC),true) |
| |
| TOP_LOCAL_PATH:= $(call my-dir) |
| |
| # Build lburg |
| |
| LOCAL_PATH:= $(TOP_LOCAL_PATH)/lburg |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := lcc-lburg |
| |
| LOCAL_SRC_FILES := \ |
| gram.c \ |
| lburg.c |
| |
| include $(BUILD_HOST_EXECUTABLE) |
| |
| LLC_LBURG:=$(LOCAL_BUILT_MODULE) |
| |
| # Build cpp |
| |
| LOCAL_PATH:= $(TOP_LOCAL_PATH)/cpp |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := lcc-cpp |
| |
| LOCAL_SRC_FILES := \ |
| cpp.c \ |
| eval.c \ |
| getopt.c \ |
| hideset.c \ |
| include.c \ |
| lex.c \ |
| macro.c \ |
| nlist.c \ |
| tokens.c \ |
| unix.c |
| |
| include $(BUILD_HOST_EXECUTABLE) |
| |
| # Build rcc |
| |
| LOCAL_PATH := $(TOP_LOCAL_PATH)/src |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := lcc-rcc |
| |
| # These two symbols are normally defined by BUILD_XXX, but we need to define them |
| # here so that local-intermediates-dir works. |
| |
| LOCAL_IS_HOST_MODULE := true |
| LOCAL_MODULE_CLASS := EXECUTABLES |
| |
| intermediates:= $(local-intermediates-dir)/ir |
| GEN := $(addprefix $(intermediates)/, \ |
| dagcheck.c \ |
| arm.c \ |
| x86.c \ |
| x86linux.c \ |
| ) |
| $(GEN): PRIVATE_CUSTOM_TOOL = $(LLC_LBURG) $< > $@ |
| $(GEN): $(LLC_LBURG) |
| $(GEN): $(intermediates)/%.c : $(LOCAL_PATH)/%.md |
| $(transform-generated-source) |
| LOCAL_GENERATED_SOURCES += $(GEN) |
| |
| LOCAL_SRC_FILES := \ |
| alloc.c \ |
| bind.c \ |
| dag.c \ |
| decl.c \ |
| enode.c \ |
| error.c \ |
| expr.c \ |
| event.c \ |
| init.c \ |
| inits.c \ |
| input.c \ |
| lex.c \ |
| list.c \ |
| main.c \ |
| output.c \ |
| prof.c \ |
| profio.c \ |
| simp.c \ |
| stmt.c \ |
| string.c \ |
| sym.c \ |
| trace.c \ |
| tree.c \ |
| types.c \ |
| null.c \ |
| symbolic.c \ |
| bytecode.c \ |
| gen.c \ |
| stab.c \ |
| |
| include $(BUILD_HOST_EXECUTABLE) |
| |
| # Build lcc |
| |
| LOCAL_PATH:= $(TOP_LOCAL_PATH)/etc |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := lcc |
| |
| LOCAL_SRC_FILES := \ |
| lcc.c \ |
| android.c |
| |
| ifeq ($(HOST_OS),darwin) |
| LOCAL_LDLIBS += -framework Carbon |
| |
| LOCAL_SRC_FILES += \ |
| get_my_path_darwin.c |
| endif |
| |
| ifeq ($(HOST_OS),linux) |
| |
| LOCAL_SRC_FILES += \ |
| get_my_path_linux.c |
| endif |
| |
| |
| include $(BUILD_HOST_EXECUTABLE) |
| |
| endif # BUILD_LCC |