Usermode/ld-acess - Use $(AS) var instead of invoking CC
[tpg/acess2.git] / Usermode / Libraries / ld-acess.so_src / Makefile
1 # Acess Dynamic Linker (ELF) Version 1
2 #  LD-ACESS.SO
3 #  Makefile
4
5 -include ../Makefile.cfg
6
7 OBJ := main.o lib.o loadlib.o export.o elf.o pe.o
8 OBJ += arch/$(ARCHDIR).ao_
9 BIN = ld-acess.so
10 EXTRABIN := libld-acess.so
11 EXTRACLEAN = $(_OBJPREFIX)_stublib.o
12 INCFILES := sys/sys.h
13
14 #CPPFLAGS += -D DISABLE_ELF64
15 CFLAGS   = -g -Wall -fno-builtin -fno-stack-protector -fPIC -std=c99 -ffreestanding
16 # -fno-leading-underscore
17 CFLAGS  += $(CPPFLAGS)
18 LDFLAGS  = -ffreestanding -nostdlib -g -Wl,-T,arch/$(ARCHDIR).ld -Map map.txt --export-dynamic -x
19 LIBS := $(LIBGCC_PATH)
20
21 ifeq ($(ARCH),native)
22 XBIN := $(addprefix $(OUTPUTDIR)Libs/,$(EXTRABIN)) 
23 $(XBIN): obj-$(ARCH)/_stublib.o
24 all: $(XBIN)
25 CFLAGS += -ffreestanding
26 LDFLAGS := 
27 BIN := 
28 OBJ :=
29 endif
30
31 include ../Makefile.tpl
32
33 # create libld-acess.so
34 $(_XBIN): $(_OBJPREFIX)_stublib.o
35         @echo [LD] -o -shared libld-acess.so
36         $V$(LD) -shared -o $@ $<
37 #       @$(LD) $(LDFLAGS) -o $@ $(OBJ)
38
39
40 # Override .ao to look in the object prefix for the source
41 $(_OBJPREFIX)arch/$(ARCHDIR).ao_: $(_OBJPREFIX)arch/$(ARCHDIR).$(ASSUFFIX) Makefile
42         @echo [AS] -o $@
43         @mkdir -p $(dir $@)
44         $V$(AS) $(ASFLAGS) -o $@ $<
45
46 #.PRECIOUS: $(OBJ:%.ao=%.asm)
47
48 # Preprocessing objects if needed
49 $(_OBJPREFIX)arch/$(ARCHDIR).$(ASSUFFIX): arch/$(ARCHDIR).$(ASSUFFIX).h arch/syscalls.s.h
50         @echo [CPP] -o $@
51         @mkdir -p $(dir $@)
52         $V$(CPP) $(CPPFLAGS) -P -D__ASSEMBLER__ $< -o $@
53
54 $(_OBJPREFIX)arch/$(ARCHDIR).$(ASSUFFIX): $(ACESSDIR)/KernelLand/Kernel/include/syscalls.h
55
56 $(_OBJPREFIX)_stublib.o: arch/syscalls.s.h
57

UCC git Repository :: git.ucc.asn.au