-# Acess 2 SQLite 3 Library
+# Acess2
+# - Library Common Makefile
#
-DEPFILES := $(OBJ:%.o=%.d)
-.PHONY: all clean install
+_BIN := $(OUTPUTDIR)Libs/$(BIN)
+_XBIN := $(addprefix $(OUTPUTDIR)Libs/,$(EXTRABIN))
+_OBJPREFIX := obj-$(ARCH)/
-all: $(BIN)
+_LIBS := $(filter -l%,$(LDFLAGS))
+_LIBS := $(patsubst -l%,$(OUTPUTDIR)Libs/lib%.so,$(_LIBS))
-clean:
- $(RM) $(BIN) $(OBJ) $(BIN).dsm
+OBJ := $(addprefix $(_OBJPREFIX),$(OBJ))
+
+DEPFILES := $(addsuffix .dep,$(OBJ))
-install: $(BIN)
- $(xCP) $(BIN) $(DISTROOT)/Libs/
+.PHONY: all clean install postbuild
-$(BIN): $(OBJ)
+all: $(_BIN) $(_XBIN)
+
+clean:
+ $(RM) $(_BIN) $(_XBIN) $(OBJ) $(_BIN).dsm $(DEPFILES) $(EXTRACLEAN)
+
+install: all
+ @echo [xCP] $(DISTROOT)/Libs/$(BIN)
+ @$(xMKDIR) $(DISTROOT)/Libs; true
+ @$(STRIP) $(_BIN) -o $(_BIN)_
+ @$(xCP) $(_BIN)_ $(DISTROOT)/Libs/$(BIN)
+ @$(RM) $(_BIN)_
+ifneq ($(_XBIN),)
+ $(xCP) $(_XBIN) $(DISTROOT)/Libs/
+endif
+
+$(_BIN): $(OBJ) $(_LIBS)
+ @mkdir -p $(dir $(_BIN))
@echo [LD] -o $(BIN) $(OBJ)
- @$(LD) $(LDFLAGS) -o $(BIN) $(OBJ)
- @$(OBJDUMP) -d -S $(BIN) > $(BIN).dsm
+ @$(LD) $(LDFLAGS) -o $(_BIN) $(OBJ)
+ @$(DISASM) -S $(_BIN) > $(_OBJPREFIX)$(BIN).dsm
-%.o: %.c
+$(_OBJPREFIX)%.o: %.c
@echo [CC] -o $@
- @$(CC) $(CFLAGS) -o $@ -c $<
- @$(CC) -M -MT $@ $(CPPFLAGS) $< -o $*.d
+ @mkdir -p $(dir $@)
+ @$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
+
+$(_OBJPREFIX)%.ao: %.$(ASSUFFIX)
+ @echo [AS] -o $@
+ @mkdir -p $(dir $@)
+ @$(AS) $(ASFLAGS) -o $@ $<
+ifeq ($(ASSUFFIX),S)
+else
+endif
+
+#$(OUTPUTDIR)Libs/libld-acess.so:
+# @make -C $(ACESSDIR)/Usermode/Libraries/ld-acess.so_src/
+$(OUTPUTDIR)Libs/%:
+ @make -C $(ACESSDIR)/Usermode/Libraries/$*_src/
-include $(DEPFILES)