Usermode/AxWin4 - Debugging quirks in ARCH=native
[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 ($(ARCHDIR),native)
23  LDFLAGS := $(patsubst -lc++,-lc++_acess,$(LDFLAGS))
24  LIBS := $(patsubst -lc++,-lc++_acess,$(LIBS))
25 endif
26 ifeq ($(VERBOSE),)
27 V := @
28 else
29 V :=
30 endif
31
32 OBJ := $(addprefix $(_OBJPREFIX),$(OBJ))
33
34 #LINK_OBJS := $(CRTI) $(CRTBEGIN) $(CRT0) $(OBJ) $(LIBGCC_PATH) $(CRTEND) $(CRTN)
35 LINK_OBJS := $(OBJ)
36
37 DEPFILES := $(OBJ:%.o=%.dep)
38
39 .PHONY : all clean install
40
41 all: $(_BIN)
42
43 clean:
44         @$(RM) $(OBJ) $(DEPFILES) $(_BIN) $(BIN).dsm
45         @$(RM) -r $(_OBJPREFIX)
46
47 install: $(_BIN)
48         @echo [xCP] $(DISTROOT)/$(DIR)/$(BIN)
49         @$(xMKDIR) $(DISTROOT)/$(DIR); true
50         @$(STRIP) $(_BIN) -o $(_BIN)_
51         @$(xCP) $(_BIN)_ $(DISTROOT)/$(DIR)/$(BIN)
52         @$(RM) $(_BIN)_
53
54 $(_BIN): $(_LIBS) $(LINK_OBJS) $(CRT0) $(CRTI) $(CRTN)
55         @mkdir -p $(dir $(_BIN))
56         @echo [LD] -o $@
57 ifneq ($(USE_CXX_LINK),)
58         $V$(CXX) -g $(LDFLAGS) -o $(_BIN) $(LINK_OBJS) $(LIBS)
59 else
60         $V$(CC)  -g $(LDFLAGS) -o $(_BIN) $(LINK_OBJS) $(LIBS)
61 endif
62         $V$(DISASM) $(_BIN) > $(_OBJPREFIX)$(BIN).dsm
63
64 $(_OBJPREFIX)%.o: %.c
65         @echo [CC] -o $@
66 ifneq ($(_OBJPREFIX),)
67         @mkdir -p $(dir $@)
68 endif
69         $V$(CC)  $(CFLAGS)   $(CPPFLAGS) -c $< -o $@ -MQ $@ -MP -MD -MF $(_OBJPREFIX)$*.dep
70
71 $(_OBJPREFIX)%.o: %.cpp
72         @echo [CXX] -o $@
73 ifneq ($(_OBJPREFIX),)
74         @mkdir -p $(dir $@)
75 endif
76         $V$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@ -MQ $@ -MP -MD -MF $(_OBJPREFIX)$*.dep
77
78 $(OUTPUTDIR)Libs/libld-acess.so:
79         @make -C $(ACESSDIR)/Usermode/Libraries/ld-acess.so_src/
80 $(OUTPUTDIR)Libs/%:
81         @make -C $(ACESSDIR)/Usermode/Libraries/$*_src/
82
83 -include $(DEPFILES)
84
85 # vim: ft=make

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