mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
Convert libraries into the BYTECODE_LIBRARY style
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7858 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6defc76a85
commit
da86e6c0b6
@ -1,11 +1,17 @@
|
||||
LEVEL = ../../..
|
||||
LIBNAME = crtend
|
||||
BYTECODE_LIBRARY=1
|
||||
DONT_BUILD_RELINKED=1
|
||||
LIBRARYNAME=crtend
|
||||
|
||||
Source = crtend.c listend.ll
|
||||
|
||||
EXPORTED_SYMBOL_LIST = __main,llvm.global_ctors,llvm.global_dtors
|
||||
|
||||
include ../Makefile.libs
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
||||
install:: $(DESTLIBNAME)
|
||||
cp $(DESTLIBNAME) $(INSTALL_DIR)/crtend.o
|
||||
rm $(INSTALL_DIR)/libcrtend.bc
|
||||
|
||||
$(LLVMGCCDIR)/bytecode-libs/crtend.o: $(LIBNAME_BC)
|
||||
@cp $< $@
|
||||
|
||||
install:: $(LLVMGCCDIR)/bytecode-libs/crtend.o
|
||||
@rm $(LLVMGCCDIR)/bytecode-libs/libcrtend.bc
|
@ -1,6 +1,7 @@
|
||||
LEVEL = ../../..
|
||||
BYTECODE_LIBRARY=1
|
||||
DONT_BUILD_RELINKED=1
|
||||
LIBRARYNAME=c
|
||||
|
||||
LIBNAME = c
|
||||
|
||||
include ../Makefile.libs
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
LEVEL = ../../..
|
||||
BYTECODE_LIBRARY=1
|
||||
DONT_BUILD_RELINKED=1
|
||||
LIBRARYNAME=gcc
|
||||
|
||||
LIBNAME = gcc
|
||||
|
||||
include ../Makefile.libs
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
@ -1,6 +1,7 @@
|
||||
LEVEL = ../../..
|
||||
BYTECODE_LIBRARY=1
|
||||
DONT_BUILD_RELINKED=1
|
||||
LIBRARYNAME=m
|
||||
|
||||
LIBNAME = m
|
||||
|
||||
include ../Makefile.libs
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
LEVEL = ../../..
|
||||
BYTECODE_LIBRARY=1
|
||||
DONT_BUILD_RELINKED=1
|
||||
LIBRARYNAME=malloc
|
||||
|
||||
LIBNAME = malloc
|
||||
|
||||
include ../Makefile.libs
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
@ -1,6 +1,6 @@
|
||||
LEVEL = ../../..
|
||||
BYTECODE_LIBRARY=1
|
||||
DONT_BUILD_RELINKED=1
|
||||
LIBRARYNAME=ucb
|
||||
|
||||
LIBNAME = ucb
|
||||
|
||||
include ../Makefile.libs
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Libraries Makefile: Build all subdirectories automatically
|
||||
|
||||
LEVEL = ../..
|
||||
DIRS := $(sort $(filter-out Output/, $(filter-out CVS/, $(wildcard */))))
|
||||
PARALLEL_DIRS := $(sort $(filter-out Output/, $(filter-out CVS/, $(wildcard */))))
|
||||
|
||||
include ${LEVEL}/Makefile.common
|
||||
|
||||
|
@ -1,47 +0,0 @@
|
||||
# test/Libraries/Makefile.libs
|
||||
#
|
||||
# This makefile should be used by subdirectories, which are libraries that are
|
||||
# to be compiled to llvm bytecode and linked together with a specified name.
|
||||
#
|
||||
# Variables to be defined before including this makefile:
|
||||
#
|
||||
# 1. LEVEL - Must be set as per normal semantics: The depth from the top of tree
|
||||
# 2. LIBNAME - Name of library to link together. Forms lib<LIBNAME>.bc
|
||||
# 3. EXPORTED_SYMBOL_LIST - If this symbol is defined, it contains a comma
|
||||
# separated list of symbols that are exported by the library. All other
|
||||
# symbols are marked internal, reducing namespace pollution.
|
||||
#
|
||||
|
||||
DESTLIBDIR := $(LEVEL)/test/Libraries/Output
|
||||
DESTLIBNAME := $(LEVEL)/test/Libraries/Output/lib$(LIBNAME).bc
|
||||
|
||||
all:: $(DESTLIBNAME)
|
||||
|
||||
include $(LEVEL)/test/Makefile.tests
|
||||
|
||||
# Figure out what object files we want to build...
|
||||
LObjs := $(sort $(addsuffix .bc, $(basename $(Source))))
|
||||
LObjects := $(addprefix Output/,$(LObjs))
|
||||
|
||||
.PRECIOUS: $(LObjects)
|
||||
|
||||
# If the library specified a list of symbols to export, add an internalize pass
|
||||
# to the link options.
|
||||
ifdef EXPORTED_SYMBOL_LIST
|
||||
LLINK_OPTS += -internalize -internalize-public-api-list=$(EXPORTED_SYMBOL_LIST)
|
||||
endif
|
||||
|
||||
# Standard set of postlink optimizations...
|
||||
LLINK_OPTS += -inline -globaldce -funcresolve -deadtypeelim -instcombine -simplifycfg
|
||||
|
||||
# Link the library, then perform postlink optimization...
|
||||
$(DESTLIBNAME): $(DESTLIBDIR)/.dir $(LObjects) $(LLINK) $(LOPT)
|
||||
$(LLINK) -f $(LObjects) $(LDFLAGS) | \
|
||||
$(LOPT) -f -q $(LLINK_OPTS) -o $@
|
||||
|
||||
# Install target for libraries: Copy into the gcc install directory.
|
||||
#
|
||||
INSTALL_DIR := $(LLVMGCCDIR)/bytecode-libs/
|
||||
|
||||
install:: $(DESTLIBNAME)
|
||||
cp $(DESTLIBNAME) $(INSTALL_DIR)
|
@ -1,4 +1,6 @@
|
||||
LEVEL = ../../..
|
||||
LIBNAME = dummy
|
||||
include ../Makefile.libs
|
||||
BYTECODE_LIBRARY=1
|
||||
DONT_BUILD_RELINKED=1
|
||||
LIBRARYNAME=dummy
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
@ -1,23 +1,7 @@
|
||||
LEVEL = ../../..
|
||||
BYTECODE_LIBRARY=1
|
||||
#DONT_BUILD_RELINKED=1
|
||||
LIBRARYNAME=gcc
|
||||
|
||||
LIBNAME = instr
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
||||
include ../Makefile.libs
|
||||
|
||||
## We need the native libraries for libinstr because they are directly
|
||||
## linked into the native CBE or LLC code. That is the only practical
|
||||
## way to debug them!
|
||||
|
||||
LIBINSTR = ../Output/libinstr.$(ARCH).a
|
||||
all:: $(LIBINSTR)
|
||||
|
||||
tracelib: tracelib.c
|
||||
g++ -g -DTEST_INSTRLIB $< -o $@
|
||||
|
||||
Debug/tracelib.o: tracelib.c Debug/.dir
|
||||
$(CompileC) -g $< -o $@
|
||||
|
||||
$(LIBINSTR): Debug/tracelib.o ../Output/.dir
|
||||
ar r $@ $<
|
||||
|
||||
tracelib.c: tracelib.h
|
||||
|
Loading…
Reference in New Issue
Block a user