Subversion Repositories HelenOS

Rev

Rev 3022 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3022 Rev 4055
Line 29... Line 29...
29
## Setup toolchain
29
## Setup toolchain
30
#
30
#
31
 
31
 
32
LIBC_PREFIX = ../../lib/libc
32
LIBC_PREFIX = ../../lib/libc
33
SOFTINT_PREFIX = ../../lib/softint
33
SOFTINT_PREFIX = ../../lib/softint
-
 
34
 
34
include $(LIBC_PREFIX)/Makefile.toolchain 
35
include $(LIBC_PREFIX)/Makefile.toolchain
35
include ../../../Makefile.config
-
 
36
 
36
 
37
CFLAGS += -Iinclude -I../libadt/include
37
CFLAGS += -Iinclude -I../libadt/include
38
 
38
 
39
LIBS = $(LIBC_PREFIX)/libc.a
39
LIBS = $(LIBC_PREFIX)/libc.a
40
 
40
 
Line 44... Line 44...
44
OUTPUT = kbd
44
OUTPUT = kbd
45
GENERIC_SOURCES = \
45
GENERIC_SOURCES = \
46
	generic/kbd.c \
46
	generic/kbd.c \
47
	generic/key_buffer.c
47
	generic/key_buffer.c
48
 
48
 
49
ARCH_SOURCES = \
49
ARCH_SOURCES =
50
	arch/$(ARCH)/src/kbd.c
50
GENARCH_SOURCES =
51
 
51
 
52
ifeq ($(ARCH), ia32)
-
 
53
	ARCH_SOURCES += \
-
 
54
		arch/$(ARCH)/src/mouse.c \
-
 
55
		arch/$(ARCH)/src/scanc.c
-
 
56
	GENARCH_SOURCES = \
-
 
57
		genarch/src/kbd.c
-
 
58
	CFLAGS += -DMOUSE_ENABLED
-
 
59
endif
-
 
60
ifeq ($(ARCH), amd64)
-
 
61
	ARCH_SOURCES += \
-
 
62
		arch/$(ARCH)/src/mouse.c \
-
 
63
		arch/$(ARCH)/src/scanc.c
-
 
64
	GENARCH_SOURCES = \
-
 
65
		genarch/src/kbd.c
-
 
66
	CFLAGS += -DMOUSE_ENABLED
-
 
67
endif
-
 
68
ifeq ($(ARCH), sparc64)
52
ifeq ($(KBD_LAYOUT), us_qwerty)
69
	ARCH_SOURCES += \
-
 
70
		arch/$(ARCH)/src/scanc.c
-
 
71
	GENARCH_SOURCES = \
53
	GENARCH_SOURCES += layout/us_qwerty.c
72
		genarch/src/kbd.c
-
 
73
endif
-
 
74
ifeq ($(ARCH), arm32)
-
 
75
ifeq ($(MACHINE), gxemul_testarm)
-
 
76
	ARCH_SOURCES += \
-
 
77
		arch/$(ARCH)/src/kbd_gxemul.c
-
 
78
endif
54
endif
-
 
55
ifeq ($(KBD_LAYOUT), us_dvorak)
-
 
56
	GENARCH_SOURCES += layout/us_dvorak.c
79
endif
57
endif
80
 
58
 
-
 
59
ifeq ($(UARCH), amd64)
-
 
60
	GENARCH_SOURCES += \
-
 
61
		port/i8042.c \
-
 
62
		ctl/pc.c
-
 
63
endif
-
 
64
ifeq ($(UARCH), arm32)
-
 
65
	GENARCH_SOURCES += \
-
 
66
		port/gxemul.c
-
 
67
	ifeq ($(CONFIG_FB), y)
-
 
68
		GENARCH_SOURCES += \
-
 
69
			ctl/gxe_fb.c
-
 
70
	else
-
 
71
		GENARCH_SOURCES += \
-
 
72
			ctl/stty.c
-
 
73
	endif
-
 
74
endif
-
 
75
ifeq ($(UARCH), ia32)
-
 
76
	GENARCH_SOURCES += \
-
 
77
		port/i8042.c \
-
 
78
		ctl/pc.c
-
 
79
endif
-
 
80
ifeq ($(MACHINE), i640GX)
-
 
81
	GENARCH_SOURCES += \
-
 
82
		port/i8042.c \
-
 
83
		ctl/pc.c
-
 
84
endif
-
 
85
ifeq ($(MACHINE), ski)
-
 
86
	GENARCH_SOURCES += \
-
 
87
		port/ski.c \
-
 
88
		ctl/stty.c
-
 
89
endif
-
 
90
ifeq ($(MACHINE), msim)
-
 
91
	GENARCH_SOURCES += \
-
 
92
		port/msim.c \
-
 
93
		ctl/stty.c
-
 
94
endif
-
 
95
ifeq ($(MACHINE), lgxemul)
-
 
96
	GENARCH_SOURCES += \
-
 
97
		port/gxemul.c
-
 
98
	ifeq ($(CONFIG_FB), y)
-
 
99
		GENARCH_SOURCES += \
-
 
100
			ctl/gxe_fb.c
-
 
101
	else
-
 
102
		GENARCH_SOURCES += \
-
 
103
			ctl/stty.c
-
 
104
	endif
-
 
105
endif
-
 
106
ifeq ($(MACHINE), bgxemul)
-
 
107
	GENARCH_SOURCES += \
-
 
108
		port/gxemul.c \
-
 
109
		ctl/stty.c
-
 
110
endif
-
 
111
ifeq ($(UARCH), ppc32)
-
 
112
	GENARCH_SOURCES += \
-
 
113
		port/dummy.c \
-
 
114
		ctl/stty.c
-
 
115
endif
-
 
116
ifeq ($(UARCH), sparc64)
-
 
117
	GENARCH_SOURCES += \
-
 
118
		port/z8530.c \
-
 
119
		ctl/sun.c
-
 
120
endif
81
 
121
 
82
GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES)))
122
GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES)))
83
ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES)))
123
ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES)))
84
GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES)))
124
GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES)))
85
 
125
 
-
 
126
OBJECTS := $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(GENARCH_OBJECTS)
-
 
127
 
86
.PHONY: all clean depend disasm links
128
.PHONY: all clean depend disasm links
87
 
129
 
88
all: links $(OUTPUT) disasm
130
all: $(OUTPUT) $(OUTPUT).disasm
89
 
131
 
90
-include Makefile.depend
132
-include Makefile.depend
91
 
133
 
92
links:
-
 
93
	ln -sfn ../arch/$(ARCH)/include include/arch
-
 
94
	ln -sfn ../genarch/include include/genarch
-
 
95
 
-
 
96
clean:
134
clean:
97
	-rm -f $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm Makefile.depend include/arch include/genarch
135
	-rm -f $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm Makefile.depend $(OBJECTS)
98
 
136
 
99
depend:
137
depend:
100
	$(CC) $(DEFS) $(CFLAGS) -M $(SOURCES) > Makefile.depend
138
	$(CC) $(DEFS) $(CFLAGS) -M $(SOURCES) > Makefile.depend
101
 
139
 
102
$(OUTPUT): $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(GENARCH_OBJECTS) $(LIBS)
140
$(OUTPUT): $(OBJECTS) $(LIBS)
103
	$(LD) -T $(LIBC_PREFIX)/arch/$(ARCH)/_link.ld -e __entry_driver $(GENERIC_OBJECTS) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(LIBS) $(LFLAGS) -o $@ -Map $(OUTPUT).map
141
	$(LD) -T $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld $(OBJECTS) $(LIBS) $(LFLAGS) -o $@ -Map $(OUTPUT).map
-
 
142
 
-
 
143
disasm: $(OUTPUT).disasm
104
 
144
 
105
disasm:
145
$(OUTPUT).disasm: $(OUTPUT)
106
	$(OBJDUMP) -d $(OUTPUT) >$(OUTPUT).disasm
146
	$(OBJDUMP) -d $< >$@
107
 
147
 
108
%.o: %.S
148
%.o: %.S
109
	$(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@
149
	$(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@
110
 
150
 
111
%.o: %.s
151
%.o: %.s