source: mainline/kernel/genarch/Makefile.inc@ bf05c74

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since bf05c74 was d2f75eb, checked in by GitHub <noreply@…>, 7 years ago

Replace autogen.py with something simpler. (#30)

Instead of generating headers for certain structures, the headers are written manually and we automate checking correctness instead. Checking is performed by generating a C source with a bunch of static asserts, using a simple awk script. This is then treated as a normal source file.

The primary motivation for this change is to reduce the complexity of the build process. Also, the .ag files we used previously are more difficult to understand than regular C code, and at least one IDE (GNOME Builder) completely refuses to open them.

  • Property mode set to 100644
File size: 4.5 KB
Line 
1# Copyright (c) 2005 Martin Decky
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions
6# are met:
7#
8# - Redistributions of source code must retain the above copyright
9# notice, this list of conditions and the following disclaimer.
10# - Redistributions in binary form must reproduce the above copyright
11# notice, this list of conditions and the following disclaimer in the
12# documentation and/or other materials provided with the distribution.
13# - The name of the author may not be used to endorse or promote products
14# derived from this software without specific prior written permission.
15#
16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26#
27
28## Accepted configuration directives
29#
30
31ifeq ($(CONFIG_ACPI),y)
32GENARCH_SOURCES += \
33 genarch/src/acpi/acpi.c \
34 genarch/src/acpi/madt.c
35endif
36
37ifeq ($(CONFIG_PAGE_PT),y)
38GENARCH_SOURCES += \
39 genarch/src/mm/page_pt.c \
40 genarch/src/mm/as_pt.c
41endif
42
43ifeq ($(CONFIG_PAGE_HT),y)
44GENARCH_SOURCES += \
45 genarch/src/mm/page_ht.c \
46 genarch/src/mm/as_ht.c
47endif
48
49ifeq ($(CONFIG_ASID),y)
50GENARCH_SOURCES += \
51 genarch/src/mm/asid.c
52endif
53
54ifeq ($(CONFIG_ASID_FIFO),y)
55GENARCH_SOURCES += \
56 genarch/src/mm/asid_fifo.c
57endif
58
59ifeq ($(CONFIG_SOFTINT),y)
60GENARCH_SOURCES += \
61 genarch/src/softint/division.c \
62 genarch/src/softint/multiplication.c
63endif
64
65ifeq ($(CONFIG_FB),y)
66GENARCH_SOURCES += \
67 genarch/src/fb/font-8x16.c \
68 genarch/src/fb/fb.c \
69 genarch/src/fb/bfb.c
70endif
71
72ifeq ($(CONFIG_DSRLNIN),y)
73GENARCH_SOURCES += \
74 genarch/src/drivers/dsrln/dsrlnin.c
75endif
76
77ifeq ($(CONFIG_DSRLNOUT),y)
78GENARCH_SOURCES += \
79 genarch/src/drivers/dsrln/dsrlnout.c
80endif
81
82ifeq ($(CONFIG_I8042),y)
83GENARCH_SOURCES += \
84 genarch/src/drivers/i8042/i8042.c
85endif
86
87ifeq ($(CONFIG_NS16550),y)
88GENARCH_SOURCES += \
89 genarch/src/drivers/ns16550/ns16550.c
90endif
91
92ifeq ($(CONFIG_PL011_UART),y)
93GENARCH_SOURCES += \
94 genarch/src/drivers/pl011/pl011.c
95endif
96
97ifeq ($(CONFIG_S3C24XX_IRQC),y)
98GENARCH_SOURCES += \
99 genarch/src/drivers/s3c24xx/irqc.c
100endif
101
102ifeq ($(CONFIG_S3C24XX_UART),y)
103GENARCH_SOURCES += \
104 genarch/src/drivers/s3c24xx/uart.c
105endif
106
107ifeq ($(CONFIG_OMAP_UART),y)
108GENARCH_SOURCES += \
109 genarch/src/drivers/omap/uart.c
110endif
111
112ifeq ($(CONFIG_AM335X_TIMERS),y)
113GENARCH_SOURCES += \
114 genarch/src/drivers/am335x/timer.c
115endif
116
117ifeq ($(CONFIG_BCM2835_MAILBOX),y)
118GENARCH_SOURCES += \
119 genarch/src/drivers/bcm2835/mbox.c
120endif
121
122ifeq ($(CONFIG_VIA_CUDA),y)
123GENARCH_SOURCES += \
124 genarch/src/drivers/via-cuda/cuda.c
125endif
126
127ifeq ($(CONFIG_PC_KBD),y)
128GENARCH_SOURCES += \
129 genarch/src/kbrd/kbrd.c \
130 genarch/src/kbrd/scanc_pc.c
131endif
132
133ifeq ($(CONFIG_AT_KBD),y)
134GENARCH_SOURCES += \
135 genarch/src/kbrd/kbrd_at.c \
136 genarch/src/kbrd/scanc_at.c
137endif
138
139ifeq ($(CONFIG_SUN_KBD),y)
140GENARCH_SOURCES += \
141 genarch/src/kbrd/kbrd.c \
142 genarch/src/kbrd/scanc_sun.c
143endif
144
145ifeq ($(CONFIG_MAC_KBD),y)
146GENARCH_SOURCES += \
147 genarch/src/kbrd/kbrd.c \
148 genarch/src/kbrd/scanc_mac.c
149endif
150
151ifeq ($(CONFIG_SRLN),y)
152GENARCH_SOURCES += \
153 genarch/src/srln/srln.c
154endif
155
156ifeq ($(CONFIG_OFW_TREE),y)
157GENARCH_SOURCES += \
158 genarch/src/ofw/ofw_tree.c
159endif
160
161ifeq ($(CONFIG_OFW_PCI),y)
162GENARCH_SOURCES += \
163 genarch/src/ofw/ebus.c \
164 genarch/src/ofw/pci.c \
165 genarch/src/ofw/sbus.c \
166 genarch/src/ofw/upa.c
167endif
168
169ifeq ($(CONFIG_MULTIBOOT), y)
170GENARCH_SOURCES += \
171 genarch/src/multiboot/common.c \
172 genarch/src/multiboot/multiboot.c \
173 genarch/src/multiboot/multiboot2.c
174
175GENARCH_AUTOCHECK_HEADERS += \
176 genarch/include/genarch/multiboot/multiboot_memmap_struct.h \
177 genarch/include/genarch/multiboot/multiboot_info_struct.h
178endif
179
180ifeq ($(CONFIG_EGA), y)
181GENARCH_SOURCES += \
182 genarch/src/drivers/ega/ega.c
183endif
184
185ifeq ($(CONFIG_IOMAP_BITMAP), y)
186GENARCH_SOURCES += \
187 genarch/src/ddi/ddi-bitmap.c
188endif
189
190ifeq ($(CONFIG_IOMAP_DUMMY), y)
191GENARCH_SOURCES += \
192 genarch/src/ddi/ddi-dummy.c
193endif
194
Note: See TracBrowser for help on using the repository browser.