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

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 5e73815 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
RevLine 
[51d6f80]1#
[df4ed85]2# Copyright (c) 2005 Martin Decky
[51d6f80]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
[00acd66]32LIBC_PREFIX = ../../lib/libc
33SOFTINT_PREFIX = ../../lib/softint
[fcd7053]34
[9a0367f]35include $(LIBC_PREFIX)/Makefile.toolchain
[51d6f80]36
[d9c8c81]37CFLAGS += -Iinclude
[51d6f80]38
[7ee6aff]39LIBS = $(LIBC_PREFIX)/libc.a
[51d6f80]40
41## Sources
42#
43
44OUTPUT = kbd
45GENERIC_SOURCES = \
46 generic/kbd.c \
[b0b5628]47 genarch/gsp.c \
48 genarch/stroke.c \
[215abc1]49 generic/keybuffer.c
[51d6f80]50
[f89979b]51ARCH_SOURCES =
[0175246]52GENARCH_SOURCES = \
53 layout/cz.c \
54 layout/us_qwerty.c \
55 layout/us_dvorak.c
[f89979b]56
57ifeq ($(UARCH), amd64)
58 GENARCH_SOURCES += \
59 port/i8042.c \
60 ctl/pc.c
61endif
[9239333]62
[f89979b]63ifeq ($(UARCH), arm32)
[6ac14a70]64ifeq ($(MACHINE), testarm)
[f89979b]65 GENARCH_SOURCES += \
66 port/gxemul.c
[9239333]67
[f89979b]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
[6ac14a70]76ifeq ($(MACHINE), integratorcp)
77 GENARCH_SOURCES += \
78 port/pl050.c \
79 ctl/pl050.c
80endif
81endif
[9239333]82
[fcd7053]83ifeq ($(UARCH), ia32)
[f89979b]84 GENARCH_SOURCES += \
85 port/i8042.c \
86 ctl/pc.c
[830ac99]87endif
[9239333]88
[f97e25f]89ifeq ($(MACHINE), i460GX)
[f89979b]90 GENARCH_SOURCES += \
[3f95377]91 port/i8042.c \
92 ctl/pc.c
[50b3d30]93endif
[9239333]94
[3014e2b2]95ifeq ($(MACHINE), ski)
96 GENARCH_SOURCES += \
97 port/ski.c \
98 ctl/stty.c
99endif
[9239333]100
[f89979b]101ifeq ($(MACHINE), msim)
102 GENARCH_SOURCES += \
103 port/msim.c \
104 ctl/stty.c
[830ac99]105endif
[9239333]106
[f89979b]107ifeq ($(MACHINE), lgxemul)
108 GENARCH_SOURCES += \
109 port/gxemul.c
[9239333]110
[f89979b]111 ifeq ($(CONFIG_FB), y)
112 GENARCH_SOURCES += \
113 ctl/gxe_fb.c
114 else
115 GENARCH_SOURCES += \
116 ctl/stty.c
117 endif
[9141377]118endif
[9239333]119
[f89979b]120ifeq ($(MACHINE), bgxemul)
121 GENARCH_SOURCES += \
[43847ba]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
[6b781c0]131endif
[9239333]132
[f89979b]133ifeq ($(UARCH), ppc32)
[965dc18]134 GENARCH_SOURCES += \
[f89979b]135 port/dummy.c \
136 ctl/stty.c
[018e1e3]137endif
[9239333]138
[f89979b]139ifeq ($(UARCH), sparc64)
[9239333]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
[965dc18]151endif
[830ac99]152
[51d6f80]153GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES)))
154ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES)))
[9141377]155GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES)))
[51d6f80]156
[f0c9aff]157OBJECTS := $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(GENARCH_OBJECTS)
158
[51d6f80]159.PHONY: all clean depend disasm links
160
[c247262]161all: $(OUTPUT) $(OUTPUT).disasm
[51d6f80]162
163-include Makefile.depend
164
165clean:
[c247262]166 -rm -f $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm Makefile.depend $(OBJECTS)
[51d6f80]167
168depend:
169 $(CC) $(DEFS) $(CFLAGS) -M $(SOURCES) > Makefile.depend
170
[f0c9aff]171$(OUTPUT): $(OBJECTS) $(LIBS)
[fcd7053]172 $(LD) -T $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld $(OBJECTS) $(LIBS) $(LFLAGS) -o $@ -Map $(OUTPUT).map
[51d6f80]173
[515a0102]174disasm: $(OUTPUT).disasm
175
176$(OUTPUT).disasm: $(OUTPUT)
[fc0110d]177 $(OBJDUMP) -d $< > $@
[51d6f80]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.