mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-15 04:29:42 +00:00
0928368f62
This adds the Arm Optimized Routines (see https://github.com/ARM-software/optimized-routines) source code under the the LLVM license. The version of the code provided in this patch is v20.02 of the Arm Optimized Routines project. This entire contribution is being committed as is even though it does not currently fit the LLVM libc model and does not follow the LLVM coding style. In the near future, implementations from this patch will be moved over to their right place in the LLVM-libc tree. This will be done over many small patches, all of which will go through the normal LLVM code review process. See this libc-dev post for the plan: http://lists.llvm.org/pipermail/libc-dev/2020-March/000044.html Differential revision of the original upload: https://reviews.llvm.org/D75355
91 lines
1.9 KiB
Makefile
91 lines
1.9 KiB
Makefile
# Makefile - requires GNU make
|
|
#
|
|
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
# See https://llvm.org/LICENSE.txt for license information.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
srcdir = .
|
|
prefix = /usr
|
|
bindir = $(prefix)/bin
|
|
libdir = $(prefix)/lib
|
|
includedir = $(prefix)/include
|
|
|
|
# Configure these in config.mk, do not make changes in this file.
|
|
SUBS = math string networking
|
|
HOST_CC = cc
|
|
HOST_CFLAGS = -std=c99 -O2
|
|
HOST_LDFLAGS =
|
|
HOST_LDLIBS =
|
|
EMULATOR =
|
|
CPPFLAGS =
|
|
CFLAGS = -std=c99 -O2
|
|
CFLAGS_SHARED = -fPIC
|
|
CFLAGS_ALL = -Ibuild/include $(CPPFLAGS) $(CFLAGS)
|
|
LDFLAGS =
|
|
LDLIBS =
|
|
AR = $(CROSS_COMPILE)ar
|
|
RANLIB = $(CROSS_COMPILE)ranlib
|
|
INSTALL = install
|
|
|
|
all:
|
|
|
|
-include config.mk
|
|
|
|
$(foreach sub,$(SUBS),$(eval include $(srcdir)/$(sub)/Dir.mk))
|
|
|
|
# Required targets of subproject foo:
|
|
# all-foo
|
|
# check-foo
|
|
# clean-foo
|
|
# install-foo
|
|
# Required make variables of subproject foo:
|
|
# foo-files: Built files (all in build/).
|
|
# Make variables used by subproject foo:
|
|
# foo-...: Variables defined in foo/Dir.mk or by config.mk.
|
|
|
|
all: $(SUBS:%=all-%)
|
|
|
|
ALL_FILES = $(foreach sub,$(SUBS),$($(sub)-files))
|
|
DIRS = $(sort $(patsubst %/,%,$(dir $(ALL_FILES))))
|
|
$(ALL_FILES): | $(DIRS)
|
|
$(DIRS):
|
|
mkdir -p $@
|
|
|
|
$(filter %.os,$(ALL_FILES)): CFLAGS_ALL += $(CFLAGS_SHARED)
|
|
|
|
build/%.o: $(srcdir)/%.S
|
|
$(CC) $(CFLAGS_ALL) -c -o $@ $<
|
|
|
|
build/%.o: $(srcdir)/%.c
|
|
$(CC) $(CFLAGS_ALL) -c -o $@ $<
|
|
|
|
build/%.os: $(srcdir)/%.S
|
|
$(CC) $(CFLAGS_ALL) -c -o $@ $<
|
|
|
|
build/%.os: $(srcdir)/%.c
|
|
$(CC) $(CFLAGS_ALL) -c -o $@ $<
|
|
|
|
clean: $(SUBS:%=clean-%)
|
|
rm -rf build
|
|
|
|
distclean: clean
|
|
rm -f config.mk
|
|
|
|
$(DESTDIR)$(bindir)/%: build/bin/%
|
|
$(INSTALL) -D $< $@
|
|
|
|
$(DESTDIR)$(libdir)/%.so: build/lib/%.so
|
|
$(INSTALL) -D $< $@
|
|
|
|
$(DESTDIR)$(libdir)/%: build/lib/%
|
|
$(INSTALL) -m 644 -D $< $@
|
|
|
|
$(DESTDIR)$(includedir)/%: build/include/%
|
|
$(INSTALL) -m 644 -D $< $@
|
|
|
|
install: $(SUBS:%=install-%)
|
|
|
|
check: $(SUBS:%=check-%)
|
|
|
|
.PHONY: all clean distclean install check
|