Usermode - Remove acess.ld (unneeded now)
[tpg/acess2.git] / Usermode / Applications / Makefile.tpl
1 #
2 # Acess2
3 # - Application Template Makefile
4 #
5
6 CFLAGS   += -g
7 CXXFLAGS += -g
8 LDFLAGS  += -g
9
10 _BIN := $(OUTPUTDIR)$(DIR)/$(BIN)
11 _OBJPREFIX := obj-$(ARCH)/
12
13 LDFLAGS += -Map $(_OBJPREFIX)Map.txt
14
15 comma=,
16 LDFLAGS := $(subst -rpath-link ,-Wl$(comma)-rpath-link$(comma),$(LDFLAGS))
17 LDFLAGS := $(subst -Map ,-Wl$(comma)-Map$(comma),$(LDFLAGS))
18
19 _LIBS := $(filter -l%,$(LIBS))
20 _LIBS := $(patsubst -l%,$(OUTPUTDIR)Libs/lib%.so,$(_LIBS))
21
22 ifeq ($(VERBOSE),)
23 V := @
24 else
25 V :=
26 endif
27
28 OBJ := $(addprefix $(_OBJPREFIX),$(OBJ))
29
30 #LINK_OBJS := $(CRTI) $(CRTBEGIN) $(CRT0) $(OBJ) $(LIBGCC_PATH) $(CRTEND) $(CRTN)
31 LINK_OBJS := $(OBJ)
32
33 DEPFILES := $(OBJ:%.o=%.dep)
34
35 .PHONY : all clean install
36
37 all: $(_BIN)
38
39 clean:
40         @$(RM) $(OBJ) $(DEPFILES) $(_BIN) $(BIN).dsm
41         @$(RM) -r $(_OBJPREFIX)
42
43 install: $(_BIN)
44         @echo [xCP] $(DISTROOT)/$(DIR)/$(BIN)
45         @$(xMKDIR) $(DISTROOT)/$(DIR); true
46         @$(STRIP) $(_BIN) -o $(_BIN)_
47         @$(xCP) $(_BIN)_ $(DISTROOT)/$(DIR)/$(BIN)
48         @$(RM) $(_BIN)_
49
50 $(_BIN): $(_LIBS) $(LINK_OBJS) $(CRT0) $(CRTI) $(CRTN)
51         @mkdir -p $(dir $(_BIN))
52         @echo [LD] -o $@
53 ifneq ($(USE_CXX_LINK),)
54         $V$(CXX) -g $(LDFLAGS) -o $(_BIN) $(LINK_OBJS) $(LIBS)
55 else
56         $V$(CC)  -g $(LDFLAGS) -o $(_BIN) $(LINK_OBJS) $(LIBS)
57 endif
58         $V$(DISASM) $(_BIN) > $(_OBJPREFIX)$(BIN).dsm
59
60 $(_OBJPREFIX)%.o: %.c
61         @echo [CC] -o $@
62 ifneq ($(_OBJPREFIX),)
63         @mkdir -p $(dir $@)
64 endif
65         $V$(CC)  $(CFLAGS)   $(CPPFLAGS) -c $< -o $@ -MQ $@ -MP -MD -MF $(_OBJPREFIX)$*.dep
66
67 $(_OBJPREFIX)%.o: %.cpp
68         @echo [CXX] -o $@
69 ifneq ($(_OBJPREFIX),)
70         @mkdir -p $(dir $@)
71 endif
72         $V$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@ -MQ $@ -MP -MD -MF $(_OBJPREFIX)$*.dep
73
74 $(OUTPUTDIR)Libs/libld-acess.so:
75         @make -C $(ACESSDIR)/Usermode/Libraries/ld-acess.so_src/
76 $(OUTPUTDIR)Libs/%:
77         @make -C $(ACESSDIR)/Usermode/Libraries/$*_src/
78
79 -include $(DEPFILES)
80
81 # vim: ft=make

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