Subversion Repositories HelenOS

Rev

Rev 4340 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4340 Rev 4342
Line 25... Line 25...
25
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
#
28
#
29
 
29
 
30
-include ../../../Makefile.config
-
 
31
 
-
 
32
## Setup toolchain
30
## Setup toolchain
33
#
31
#
34
 
32
 
35
LIBC_PREFIX = ../../lib/libc
33
LIBC_PREFIX = ../../lib/libc
36
SOFTINT_PREFIX = ../../lib/softint
34
SOFTINT_PREFIX = ../../lib/softint
-
 
35
 
37
include $(LIBC_PREFIX)/Makefile.toolchain
36
include $(LIBC_PREFIX)/Makefile.toolchain
38
include arch/$(ARCH)/Makefile.inc
37
include arch/$(UARCH)/Makefile.inc
39
 
38
 
40
CFLAGS += -Iinclude
39
CFLAGS += -Iinclude
41
 
40
 
42
LIBS = $(LIBC_PREFIX)/libc.a $(SOFTINT_PREFIX)/libsoftint.a
41
LIBS = $(LIBC_PREFIX)/libc.a $(SOFTINT_PREFIX)/libsoftint.a
43
DEFS += -DRELEASE=\"$(RELEASE)\"
-
 
44
 
-
 
45
ifdef REVISION
-
 
46
	DEFS += "-DREVISION=\"$(REVISION)\""
-
 
47
endif
-
 
48
 
-
 
49
ifdef TIMESTAMP
-
 
50
	DEFS += "-DTIMESTAMP=\"$(TIMESTAMP)\""
-
 
51
endif
-
 
52
 
42
 
53
## Sources
43
## Sources
54
#
44
#
55
 
45
 
56
OUTPUT = loader
46
OUTPUT = loader
Line 67... Line 57...
67
all: $(OUTPUT) disasm
57
all: $(OUTPUT) disasm
68
 
58
 
69
-include Makefile.depend
59
-include Makefile.depend
70
 
60
 
71
clean:
61
clean:
72
	-rm -f $(OUTPUT) $(OBJECTS) $(OUTPUT).map $(OUTPUT).disasm arch/$(ARCH)/_link.ld Makefile.depend
62
	-rm -f $(OUTPUT) $(OBJECTS) $(OUTPUT).map $(OUTPUT).disasm arch/$(UARCH)/_link.ld Makefile.depend
73
 
63
 
74
depend:
64
depend:
75
	$(CC) $(DEFS) $(CFLAGS) -M $(SOURCES) > Makefile.depend
65
	$(CC) $(DEFS) $(CFLAGS) -M $(SOURCES) > Makefile.depend
76
 
66
 
77
$(OUTPUT): $(OBJECTS) $(LIBS) arch/$(ARCH)/_link.ld
67
$(OUTPUT): $(OBJECTS) $(LIBS) arch/$(UARCH)/_link.ld
78
	$(LD) -T arch/$(ARCH)/_link.ld $(LFLAGS) $(OBJECTS) $(LIBS) -o $@ -Map $(OUTPUT).map
68
	$(LD) -T arch/$(UARCH)/_link.ld $(LFLAGS) $(OBJECTS) $(LIBS) -o $@ -Map $(OUTPUT).map
79
 
69
 
80
disasm:
70
disasm:
81
	$(OBJDUMP) -d $(OUTPUT) >$(OUTPUT).disasm
71
	$(OBJDUMP) -d $(OUTPUT) >$(OUTPUT).disasm
82
 
72
 
83
arch/$(ARCH)/_link.ld: arch/$(ARCH)/_link.ld.in
73
arch/$(UARCH)/_link.ld: arch/$(UARCH)/_link.ld.in
84
	$(CC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@
74
	$(CC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@
85
 
75
 
86
%.o: %.S
76
%.o: %.S
87
	$(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@
77
	$(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@
88
 
78