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
|
"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.
|
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
|
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*.
|
||||||
statikus ELF .a fájlokat generálni, sem linkelni velük.
|
|
||||||
|
|
||||||
Forrásként terjesztve
|
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
|
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.
|
"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
|
Clang is configured in a way to directly create PE files, so the resulting library's name is **libuefi.dll.a*.
|
||||||
nor link with static ELF .a files.
|
|
||||||
|
|
||||||
Distributing as Source
|
Distributing as Source
|
||||||
----------------------
|
----------------------
|
||||||
|
|
|
@ -88,12 +88,8 @@ uefi/libuefi.a:
|
||||||
libuefi.lib: $(LIBOBJS)
|
libuefi.lib: $(LIBOBJS)
|
||||||
|
|
||||||
libuefi.a: $(LIBOBJS)
|
libuefi.a: $(LIBOBJS)
|
||||||
ifneq ($(USE_GCC),)
|
|
||||||
@rm $@ 2>/dev/null || true
|
@rm $@ 2>/dev/null || true
|
||||||
$(AR) -frsv $@ $(LIBOBJS) >/dev/null
|
$(AR) -frsv $@ $(LIBOBJS) >/dev/null
|
||||||
else
|
|
||||||
@true
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(TARGET): $(addprefix $(OUTDIR),$(TARGET).so)
|
$(TARGET): $(addprefix $(OUTDIR),$(TARGET).so)
|
||||||
ifneq ($(USE_GCC),)
|
ifneq ($(USE_GCC),)
|
||||||
|
@ -118,7 +114,12 @@ buildlib:
|
||||||
@mkdir ../build ../build/uefi 2>/dev/null || true
|
@mkdir ../build ../build/uefi 2>/dev/null || true
|
||||||
@cp crt_$(ARCH).o ../build/uefi/crt0.o
|
@cp crt_$(ARCH).o ../build/uefi/crt0.o
|
||||||
@cp elf_$(ARCH)_efi.lds ../build/uefi/link.ld
|
@cp elf_$(ARCH)_efi.lds ../build/uefi/link.ld
|
||||||
|
ifneq ($(USE_GCC),)
|
||||||
@cp libuefi.a uefi.h ../build/uefi
|
@cp libuefi.a uefi.h ../build/uefi
|
||||||
|
else
|
||||||
|
@cp uefi.h ../build/uefi
|
||||||
|
@cp libuefi.a ../build/uefi/libuefi.dll.a
|
||||||
|
endif
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@rm $(addprefix $(OUTDIR),$(TARGET)) *.o *.a *.lib *.elf $(LIBOBJS) 2>/dev/null || true
|
@rm $(addprefix $(OUTDIR),$(TARGET)) *.o *.a *.lib *.elf $(LIBOBJS) 2>/dev/null || true
|
||||||
|
|
Loading…
Reference in a new issue