3 # - Application Template Makefile
10 _BIN := $(OUTPUTDIR)$(DIR)/$(BIN)
11 _OBJPREFIX := obj-$(ARCH)/
13 LDFLAGS += -Map $(_OBJPREFIX)Map.txt
16 LDFLAGS := $(subst -rpath-link ,-Wl$(comma)-rpath-link$(comma),$(LDFLAGS))
17 LDFLAGS := $(subst -Map ,-Wl$(comma)-Map$(comma),$(LDFLAGS))
19 _LIBS := $(filter -l%,$(LIBS))
20 _LIBS := $(patsubst -l%,$(OUTPUTDIR)Libs/lib%.so,$(_LIBS))
22 ifeq ($(ARCHDIR),native)
23 LDFLAGS := -L$(OUTPUTDIR)Libs/ $(patsubst -lc++,-lc++_acess,$(LDFLAGS))
24 LIBS := $(patsubst -lc++,-lc++_acess,$(LIBS))
32 OBJ := $(addprefix $(_OBJPREFIX),$(OBJ))
34 #LINK_OBJS := $(CRTI) $(CRTBEGIN) $(CRT0) $(OBJ) $(LIBGCC_PATH) $(CRTEND) $(CRTN)
37 DEPFILES := $(OBJ:%.o=%.dep)
39 .PHONY : all clean install
44 @$(RM) $(OBJ) $(DEPFILES) $(_BIN) $(BIN).dsm
45 @$(RM) -r $(_OBJPREFIX)
48 @echo [xCP] $(DISTROOT)/$(DIR)/$(BIN)
49 @$(xMKDIR) $(DISTROOT)/$(DIR); true
50 @$(STRIP) $(_BIN) -o $(_BIN)_
51 @$(xCP) $(_BIN)_ $(DISTROOT)/$(DIR)/$(BIN)
54 $(_BIN): $(_LIBS) $(LINK_OBJS) $(CRT0) $(CRTI) $(CRTN)
55 @mkdir -p $(dir $(_BIN))
57 ifneq ($(USE_CXX_LINK),)
58 $V$(CXX) -g $(LDFLAGS) -o $(_BIN) $(LINK_OBJS) $(LIBS)
60 $V$(CC) -g $(LDFLAGS) -o $(_BIN) $(LINK_OBJS) $(LIBS)
62 $V$(DISASM) $(_BIN) > $(_OBJPREFIX)$(BIN).dsm
66 ifneq ($(_OBJPREFIX),)
69 $V$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ -MQ $@ -MP -MD -MF $(_OBJPREFIX)$*.dep
71 $(_OBJPREFIX)%.o: %.cpp
73 ifneq ($(_OBJPREFIX),)
76 $V$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@ -MQ $@ -MP -MD -MF $(_OBJPREFIX)$*.dep
78 $(OUTPUTDIR)Libs/libld-acess.so:
79 @make -C $(ACESSDIR)/Usermode/Libraries/ld-acess.so_src/
81 @make -C $(ACESSDIR)/Usermode/Libraries/$*_src/