mirror of
https://gitlab.com/bztsrc/posix-uefi.git
synced 2024-12-28 06:55:08 +01:00
Added .dll.a variant
This commit is contained in:
parent
57087cfaeb
commit
4b0a991333
3 changed files with 7 additions and 8 deletions
|
@ -35,8 +35,7 @@ Szigorúan véve csak a **crt0.o** és a **link.ld** fájlokra van szükség, ez
|
|||
"main()" eljárását. Viszont ahhoz, hogy a libc funkciókat (mint pl. memcmp, strcpy, malloc vagy fopen) használhasd, linkelned
|
||||
kell a **libuefi.a** fájllal is.
|
||||
|
||||
Egyenlőre ez a metódus csak gcc-vel működik, mivel a Clang úgy van beállítva, hogy direktben PE fájlokat hoz létre, ezért nem tud
|
||||
statikus ELF .a fájlokat generálni, sem linkelni velük.
|
||||
Clang úgy van beállítva, hogy direktben PE fájlokat hoz létre, ezért a generált függvénykönyvtár neve **libuefi.dll.a*.
|
||||
|
||||
Forrásként terjesztve
|
||||
---------------------
|
||||
|
|
|
@ -44,8 +44,7 @@ the linking and converting.
|
|||
Strictly speaking you'll only need **crt0.o** and **link.ld**, that will get you started and will call your application's
|
||||
"main()", but to get libc functions like memcmp, strcpy, malloc or fopen, you'll have to link with **libuefi.a** too.
|
||||
|
||||
For now this only works with gcc, because Clang is configured in a way to directly create PE files, so it cannot create
|
||||
nor link with static ELF .a files.
|
||||
Clang is configured in a way to directly create PE files, so the resulting library's name is **libuefi.dll.a*.
|
||||
|
||||
Distributing as Source
|
||||
----------------------
|
||||
|
|
|
@ -88,12 +88,8 @@ uefi/libuefi.a:
|
|||
libuefi.lib: $(LIBOBJS)
|
||||
|
||||
libuefi.a: $(LIBOBJS)
|
||||
ifneq ($(USE_GCC),)
|
||||
@rm $@ 2>/dev/null || true
|
||||
$(AR) -frsv $@ $(LIBOBJS) >/dev/null
|
||||
else
|
||||
@true
|
||||
endif
|
||||
|
||||
$(TARGET): $(addprefix $(OUTDIR),$(TARGET).so)
|
||||
ifneq ($(USE_GCC),)
|
||||
|
@ -118,7 +114,12 @@ buildlib:
|
|||
@mkdir ../build ../build/uefi 2>/dev/null || true
|
||||
@cp crt_$(ARCH).o ../build/uefi/crt0.o
|
||||
@cp elf_$(ARCH)_efi.lds ../build/uefi/link.ld
|
||||
ifneq ($(USE_GCC),)
|
||||
@cp libuefi.a uefi.h ../build/uefi
|
||||
else
|
||||
@cp uefi.h ../build/uefi
|
||||
@cp libuefi.a ../build/uefi/libuefi.dll.a
|
||||
endif
|
||||
|
||||
clean:
|
||||
@rm $(addprefix $(OUTDIR),$(TARGET)) *.o *.a *.lib *.elf $(LIBOBJS) 2>/dev/null || true
|
||||
|
|
Loading…
Reference in a new issue