Usermode - Hacking up native compilation target
[tpg/acess2.git] / Usermode / Applications / Makefile.tpl
1 #
2 # Acess2
3 # - Application Template Makefile
4 #
5
6 CFLAGS  += -g
7 LDFLAGS += -g
8
9 _BIN := $(OUTPUTDIR)$(DIR)/$(BIN)
10 _OBJPREFIX := obj-$(ARCH)/
11
12 _LIBS := $(filter -l%,$(LDFLAGS))
13 _LIBS := $(patsubst -l%,$(OUTPUTDIR)Libs/lib%.so,$(_LIBS))
14
15 ifeq ($(VERBOSE),)
16 V := @
17 else
18 V :=
19 endif
20
21 OBJ := $(addprefix $(_OBJPREFIX),$(OBJ))
22
23 DEPFILES := $(OBJ:%.o=%.dep)
24
25 .PHONY : all clean install
26
27 all: $(_BIN)
28
29 clean:
30         @$(RM) $(OBJ) $(DEPFILES) $(_BIN) $(BIN).dsm
31         @$(RM) -r $(_OBJPREFIX)
32
33 install: $(_BIN)
34         @echo [xCP] $(DISTROOT)/$(DIR)/$(BIN)
35         @$(xMKDIR) $(DISTROOT)/$(DIR); true
36         @$(STRIP) $(_BIN) -o $(_BIN)_
37         @$(xCP) $(_BIN)_ $(DISTROOT)/$(DIR)/$(BIN)
38         @$(RM) $(_BIN)_
39
40 $(_BIN): $(OUTPUTDIR)Libs/acess.ld $(OUTPUTDIR)Libs/crt0.o $(_LIBS) $(OBJ)
41         @mkdir -p $(dir $(_BIN))
42         @echo [LD] -o $@
43 #ifeq ($(ARCHDIR),native)
44 #       $V$(LD) -g -o [email protected] -r $(OBJ) $(LIBGCC_PATH)
45 #       $V$(LD) -g $(LDFLAGS) -o $@ [email protected] -Map $(_OBJPREFIX)Map.txt
46 #else
47         $V$(LD) -g $(LDFLAGS) -o $@ $(OBJ) -Map $(_OBJPREFIX)Map.txt $(LIBGCC_PATH)
48 #endif
49         $V$(DISASM) $(_BIN) > $(_OBJPREFIX)$(BIN).dsm
50
51 $(OBJ): $(_OBJPREFIX)%.o: %.c
52         @echo [CC] -o $@
53 ifneq ($(_OBJPREFIX),)
54         @mkdir -p $(dir $@)
55 endif
56         $V$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
57         $V$(CC) -M -MP -MT $@ $(CPPFLAGS) $< -o $(_OBJPREFIX)$*.dep
58
59 $(OUTPUTDIR)Libs/libld-acess.so:
60         @make -C $(ACESSDIR)/Usermode/Libraries/ld-acess.so_src/
61 $(OUTPUTDIR)Libs/%:
62         @make -C $(ACESSDIR)/Usermode/Libraries/$*_src/
63
64 -include $(DEPFILES)
65
66 # vim: ft=make

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