source: mainline/uspace/srv/kbd/Makefile@ 5b3cf90

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 5b3cf90 was 6ac14a70, checked in by Vineeth Pillai <vineethrp@…>, 16 years ago

ARM port for development board integratorcp(ARM926EJ core module).

  • Property mode set to 100644
File size: 4.0 KB
Line 
1#
2# Copyright (c) 2005 Martin Decky
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions
7# are met:
8#
9# - Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer.
11# - Redistributions in binary form must reproduce the above copyright
12# notice, this list of conditions and the following disclaimer in the
13# documentation and/or other materials provided with the distribution.
14# - The name of the author may not be used to endorse or promote products
15# derived from this software without specific prior written permission.
16#
17# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27#
28
29## Setup toolchain
30#
31
32LIBC_PREFIX = ../../lib/libc
33SOFTINT_PREFIX = ../../lib/softint
34
35include $(LIBC_PREFIX)/Makefile.toolchain
36
37CFLAGS += -Iinclude
38
39LIBS = $(LIBC_PREFIX)/libc.a
40
41## Sources
42#
43
44OUTPUT = kbd
45GENERIC_SOURCES = \
46 generic/kbd.c \
47 genarch/gsp.c \
48 genarch/stroke.c \
49 generic/keybuffer.c
50
51ARCH_SOURCES =
52GENARCH_SOURCES = \
53 layout/cz.c \
54 layout/us_qwerty.c \
55 layout/us_dvorak.c
56
57ifeq ($(UARCH), amd64)
58 GENARCH_SOURCES += \
59 port/i8042.c \
60 ctl/pc.c
61endif
62
63ifeq ($(UARCH), arm32)
64ifeq ($(MACHINE), testarm)
65 GENARCH_SOURCES += \
66 port/gxemul.c
67
68 ifeq ($(CONFIG_FB), y)
69 GENARCH_SOURCES += \
70 ctl/gxe_fb.c
71 else
72 GENARCH_SOURCES += \
73 ctl/stty.c
74 endif
75endif
76ifeq ($(MACHINE), integratorcp)
77 GENARCH_SOURCES += \
78 port/pl050.c \
79 ctl/pl050.c
80endif
81endif
82
83ifeq ($(UARCH), ia32)
84 GENARCH_SOURCES += \
85 port/i8042.c \
86 ctl/pc.c
87endif
88
89ifeq ($(MACHINE), i460GX)
90 GENARCH_SOURCES += \
91 port/i8042.c \
92 ctl/pc.c
93endif
94
95ifeq ($(MACHINE), ski)
96 GENARCH_SOURCES += \
97 port/ski.c \
98 ctl/stty.c
99endif
100
101ifeq ($(MACHINE), msim)
102 GENARCH_SOURCES += \
103 port/msim.c \
104 ctl/stty.c
105endif
106
107ifeq ($(MACHINE), lgxemul)
108 GENARCH_SOURCES += \
109 port/gxemul.c
110
111 ifeq ($(CONFIG_FB), y)
112 GENARCH_SOURCES += \
113 ctl/gxe_fb.c
114 else
115 GENARCH_SOURCES += \
116 ctl/stty.c
117 endif
118endif
119
120ifeq ($(MACHINE), bgxemul)
121 GENARCH_SOURCES += \
122 port/gxemul.c
123
124 ifeq ($(CONFIG_FB), y)
125 GENARCH_SOURCES += \
126 ctl/gxe_fb.c
127 else
128 GENARCH_SOURCES += \
129 ctl/stty.c
130 endif
131endif
132
133ifeq ($(UARCH), ppc32)
134 GENARCH_SOURCES += \
135 port/dummy.c \
136 ctl/stty.c
137endif
138
139ifeq ($(UARCH), sparc64)
140 ifeq ($(MACHINE),serengeti)
141 GENARCH_SOURCES += \
142 port/sgcn.c \
143 ctl/stty.c
144 else
145 GENARCH_SOURCES += \
146 port/sun.c \
147 port/z8530.c \
148 port/ns16550.c \
149 ctl/sun.c
150 endif
151endif
152
153GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES)))
154ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES)))
155GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES)))
156
157OBJECTS := $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(GENARCH_OBJECTS)
158
159.PHONY: all clean depend disasm links
160
161all: $(OUTPUT) $(OUTPUT).disasm
162
163-include Makefile.depend
164
165clean:
166 -rm -f $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm Makefile.depend $(OBJECTS)
167
168depend:
169 $(CC) $(DEFS) $(CFLAGS) -M $(SOURCES) > Makefile.depend
170
171$(OUTPUT): $(OBJECTS) $(LIBS)
172 $(LD) -T $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld $(OBJECTS) $(LIBS) $(LFLAGS) -o $@ -Map $(OUTPUT).map
173
174disasm: $(OUTPUT).disasm
175
176$(OUTPUT).disasm: $(OUTPUT)
177 $(OBJDUMP) -d $< > $@
178
179%.o: %.S
180 $(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@
181
182%.o: %.s
183 $(AS) $(AFLAGS) $< -o $@
184
185%.o: %.c
186 $(CC) $(DEFS) $(CFLAGS) -c $< -o $@
Note: See TracBrowser for help on using the repository browser.