Usermode Build - Updated makefiles to compile needed libraries if not avaliable
authorJohn Hodge <[email protected]>
Wed, 6 Jul 2011 15:10:06 +0000 (23:10 +0800)
committerJohn Hodge <[email protected]>
Wed, 6 Jul 2011 15:10:06 +0000 (23:10 +0800)
Usermode/Applications/Makefile.tpl
Usermode/Libraries/Makefile.tpl

index c940917..b2cfcd1 100644 (file)
@@ -9,6 +9,9 @@ LDFLAGS +=
 _BIN := $(OUTPUTDIR)$(DIR)/$(BIN)
 _OBJPREFIX := obj-$(ARCH)/
 
 _BIN := $(OUTPUTDIR)$(DIR)/$(BIN)
 _OBJPREFIX := obj-$(ARCH)/
 
+_LIBS := $(filter -l%,$(LDFLAGS))
+_LIBS := $(patsubst -l%,$(OUTPUTDIR)Libs/lib%.so,$(_LIBS))
+
 OBJ := $(addprefix $(_OBJPREFIX),$(OBJ))
 
 DEPFILES := $(OBJ:%.o=%.dep)
 OBJ := $(addprefix $(_OBJPREFIX),$(OBJ))
 
 DEPFILES := $(OBJ:%.o=%.dep)
@@ -18,7 +21,8 @@ DEPFILES := $(OBJ:%.o=%.dep)
 all: $(_BIN)
 
 clean:
 all: $(_BIN)
 
 clean:
-       @$(RM) $(OBJ) $(DEPFILES) $(_BIN) $(BIN).dsm Map.txt
+       @$(RM) $(OBJ) $(DEPFILES) $(_BIN) $(BIN).dsm
+       @$(RM) -r $(_OBJPREFIX)
 
 install: $(_BIN)
        @echo [xCP] $(DISTROOT)/$(DIR)/$(BIN)
 
 install: $(_BIN)
        @echo [xCP] $(DISTROOT)/$(DIR)/$(BIN)
@@ -27,13 +31,13 @@ install: $(_BIN)
        @$(xCP) $(_BIN)_ $(DISTROOT)/$(DIR)/$(BIN)
        @$(RM) $(_BIN)_
 
        @$(xCP) $(_BIN)_ $(DISTROOT)/$(DIR)/$(BIN)
        @$(RM) $(_BIN)_
 
-$(_BIN): $(OBJ)
+$(_BIN): $(OUTPUTDIR)Libs/acess.ld $(OUTPUTDIR)Libs/crt0.o $(_LIBS) $(OBJ)
        @mkdir -p $(dir $(_BIN))
        @echo [LD] -o $@
 ifneq ($(_DBGMAKEFILE),)
        @mkdir -p $(dir $(_BIN))
        @echo [LD] -o $@
 ifneq ($(_DBGMAKEFILE),)
-       $(LD) -g $(LDFLAGS) -o $@ $(OBJ) -Map Map.txt
+       $(LD) -g $(LDFLAGS) -o $@ $(OBJ) -Map $(_OBJPREFIX)Map.txt
 else
 else
-       @$(LD) -g $(LDFLAGS) -o $@ $(OBJ) -Map Map.txt
+       @$(LD) -g $(LDFLAGS) -o $@ $(OBJ) -Map $(_OBJPREFIX)Map.txt
 endif
        @$(DISASM) $(_BIN) > $(BIN).dsm
 
 endif
        @$(DISASM) $(_BIN) > $(BIN).dsm
 
@@ -45,4 +49,9 @@ endif
        @$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
        @$(CC) -M -MT $@ $(CPPFLAGS) $< -o $(_OBJPREFIX)$*.dep
 
        @$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
        @$(CC) -M -MT $@ $(CPPFLAGS) $< -o $(_OBJPREFIX)$*.dep
 
+$(OUTPUTDIR)Libs/libld-acess.so:
+       @make -C $(ACESSDIR)/Usermode/Libraries/ld-acess.so_src/
+$(OUTPUTDIR)Libs/%:
+       @make -C $(ACESSDIR)/Usermode/Libraries/$*_src/
+
 -include $(DEPFILES)
 -include $(DEPFILES)
index 29129b6..7a46c51 100644 (file)
@@ -7,6 +7,9 @@ _BIN := $(OUTPUTDIR)Libs/$(BIN)
 _XBIN := $(addprefix $(OUTPUTDIR)Libs/,$(EXTRABIN))
 _OBJPREFIX := obj-$(ARCH)/
 
 _XBIN := $(addprefix $(OUTPUTDIR)Libs/,$(EXTRABIN))
 _OBJPREFIX := obj-$(ARCH)/
 
+_LIBS := $(filter -l%,$(LDFLAGS))
+_LIBS := $(patsubst -l%,$(OUTPUTDIR)Libs/lib%.so,$(_LIBS))
+
 OBJ := $(addprefix $(_OBJPREFIX),$(OBJ))
 
 DEPFILES := $(addsuffix .dep,$(OBJ))
 OBJ := $(addprefix $(_OBJPREFIX),$(OBJ))
 
 DEPFILES := $(addsuffix .dep,$(OBJ))
@@ -46,4 +49,9 @@ $(_OBJPREFIX)%.ao: %.asm
        @$(AS) $(ASFLAGS) -o $@ $<
        @$(AS) $(ASFLAGS) -o $@ $< -M > [email protected]
 
        @$(AS) $(ASFLAGS) -o $@ $<
        @$(AS) $(ASFLAGS) -o $@ $< -M > [email protected]
 
+#$(OUTPUTDIR)Libs/libld-acess.so:
+#      @make -C $(ACESSDIR)/Usermode/Libraries/ld-acess.so_src/
+$(OUTPUTDIR)Libs/%:
+       @make -C $(ACESSDIR)/Usermode/Libraries/$*_src/
+
 -include $(DEPFILES)
 -include $(DEPFILES)

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