773d8c1bf7bfad9253540a7376f59c3d90e1b0b6
[tpg/acess2.git] / Usermode / Libraries / ld-acess.so_src / rules.mk
1 # Acess2 - ld-acess
2 include $(BASE)header.mk
3
4 # Variables
5 SRCS := main.c lib.c loadlib.c export.c elf.c pe.c
6 SRCS += arch/$(ARCHDIR).$(ASSUFFIX)
7 BIN  := $(OUTPUTDIR)Libs/ld-acess.so
8 XOBJ := $(call fcn_mkobj,_stublib.o)
9 XBIN := $(OUTPUTDIR)Libs/libld-acess.so
10
11 CFLAGS-$(DIR) := -Wall -fno-builtin -fno-leading-underscore -fno-stack-protector -fPIC -g
12 CPPFLAGS-$(DIR) := $(CPPFLAGS-$(PDIR))
13 LDFLAGS-$(DIR) := -g -T $(DIR)/arch/$(ARCHDIR).ld -Map $(call fcn_mkobj,map.txt) --export-dynamic
14
15 OBJ := $(call fcn_src2obj,$(SRCS))
16 ALL_OBJ := $(ALL_OBJ) $(OBJ)
17 OBJ-$(DIR) := $(OBJ) $(XOBJ)
18 BIN-$(DIR) := $(BIN) $(XBIN)
19 $(foreach f,$(OBJ) $(XOBJ) $(BIN) $(XBIN),$(eval _DIR-$f := $(DIR)))
20
21 # Rules
22 .PHONY: all-$(DIR) clean-$(DIR)
23
24 all-$(DIR): $(BIN-$(DIR))
25 clean-$(DIR): clean-%: 
26         $(eval BIN=$(BIN-$*/))
27         $(eval OBJ=$(OBJ-$*/))
28         $(RM) $(BIN) $(OBJ)
29
30 $(BIN): $(OBJ)
31
32 # Stub library
33 $(XBIN): $(call fcn_mkobj,_stublib.c.o) $(BIN)
34         @echo [LD] -shared -o libld-acess.so
35         @$(LD) -shared -o $@ $<
36
37 # Handle preprocessed files
38 $(DIR)/%: $(DIR)/%.h
39         @echo [CPP] -o $@
40         @mkdir -p $(dir $@)
41         @$(CPP) $(CPPFLAGS-$(DIR)) -P -D__ASSEMBLER__ $< -o $@
42
43 include $(BASE)footer.mk

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