Rev 550 | Rev 561 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 550 | Rev 558 | ||
|---|---|---|---|
| Line 37... | Line 37... | ||
| 37 | RELEASE = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) |
37 | RELEASE = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) |
| 38 | 38 | ||
| 39 | ## Include configuration |
39 | ## Include configuration |
| 40 | # |
40 | # |
| 41 | 41 | ||
| 42 | include Makefile.config |
42 | -include Makefile.config |
| 43 | 43 | ||
| 44 | ## Common compiler flags |
44 | ## Common compiler flags |
| 45 | # |
45 | # |
| 46 | 46 | ||
| 47 | DEFS = -DARCH=$(ARCH) -DRELEASE=\"$(RELEASE)\" "-DNAME=\"$(NAME)\"" |
47 | DEFS = -DARCH=$(ARCH) -DRELEASE=\"$(RELEASE)\" "-DNAME=\"$(NAME)\"" |
| Line 54... | Line 54... | ||
| 54 | endif |
54 | endif |
| 55 | 55 | ||
| 56 | ## Setup kernel configuration |
56 | ## Setup kernel configuration |
| 57 | # |
57 | # |
| 58 | 58 | ||
| 59 | include arch/$(ARCH)/Makefile.inc |
59 | -include arch/$(ARCH)/Makefile.inc |
| 60 | include genarch/Makefile.inc |
60 | -include genarch/Makefile.inc |
| 61 | 61 | ||
| 62 | ifeq ($(CONFIG_DEBUG),y) |
62 | ifeq ($(CONFIG_DEBUG),y) |
| 63 | DEFS += -DCONFIG_DEBUG |
63 | DEFS += -DCONFIG_DEBUG |
| 64 | endif |
64 | endif |
| 65 | ifeq ($(CONFIG_DEBUG_SPINLOCK),y) |
65 | ifeq ($(CONFIG_DEBUG_SPINLOCK),y) |
| Line 136... | Line 136... | ||
| 136 | 136 | ||
| 137 | GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES))) |
137 | GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES))) |
| 138 | ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES))) |
138 | ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES))) |
| 139 | GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES))) |
139 | GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES))) |
| 140 | 140 | ||
| 141 | .PHONY: all clean config depend boot |
141 | .PHONY: all clean config links depend boot |
| 142 | 142 | ||
| - | 143 | all: |
|
| - | 144 | tools/config.py default |
|
| - | 145 | $(MAKE) -C . real_all |
|
| - | 146 | ||
| 143 | all: kernel.bin boot disasm |
147 | real_all: kernel.bin boot disasm |
| - | 148 | ||
| - | 149 | config: |
|
| - | 150 | tools/config.py |
|
| 144 | 151 | ||
| 145 | -include Makefile.depend |
152 | -include Makefile.depend |
| 146 | 153 | ||
| - | 154 | distclean: clean |
|
| - | 155 | -rm Makefile.config |
|
| - | 156 | ||
| 147 | clean: |
157 | clean: |
| 148 | -rm -f kernel.bin kernel.raw kernel.map kernel.map.pre kernel.objdump kernel.disasm generic/src/debug/real_map.bin Makefile.depend generic/include/arch generic/include/genarch arch/$(ARCH)/_link.ld |
158 | -rm -f kernel.bin kernel.raw kernel.map kernel.map.pre kernel.objdump kernel.disasm generic/src/debug/real_map.bin Makefile.depend generic/include/arch generic/include/genarch arch/$(ARCH)/_link.ld |
| 149 | find generic/src/ arch/$(ARCH)/src/ genarch/src/ test/ -name '*.o' -follow -exec rm \{\} \; |
159 | find generic/src/ arch/*/src/ genarch/src/ test/ -name '*.o' -follow -exec rm \{\} \; |
| - | 160 | for arch in arch/*; do \ |
|
| - | 161 | [ -e $$arch/_link.ld ] && rm $$arch/_link.ld 2>/dev/null;\ |
|
| 150 | $(MAKE) -C arch/$(ARCH)/boot clean |
162 | $(MAKE) -C $$arch/boot clean; \ |
| - | 163 | done;exit 0 |
|
| 151 | 164 | ||
| 152 | config: |
165 | archlinks: |
| 153 | ln -sfn ../../arch/$(ARCH)/include/ generic/include/arch |
166 | ln -sfn ../../arch/$(ARCH)/include/ generic/include/arch |
| 154 | ln -sfn ../../genarch/include/ generic/include/genarch |
167 | ln -sfn ../../genarch/include/ generic/include/genarch |
| 155 | 168 | ||
| 156 | depend: config |
169 | depend: archlinks |
| 157 | $(CC) $(DEFS) $(CFLAGS) -M $(ARCH_SOURCES) $(GENARCH_SOURCES) $(GENERIC_SOURCES) > Makefile.depend |
170 | $(CC) $(DEFS) $(CFLAGS) -M $(ARCH_SOURCES) $(GENARCH_SOURCES) $(GENERIC_SOURCES) > Makefile.depend |
| 158 | 171 | ||
| 159 | arch/$(ARCH)/_link.ld: arch/$(ARCH)/_link.ld.in |
172 | arch/$(ARCH)/_link.ld: arch/$(ARCH)/_link.ld.in |
| 160 | $(CC) $(DEFS) $(CFLAGS) -E -x c $< | grep -v "^\#" > $@ |
173 | $(CC) $(DEFS) $(CFLAGS) -E -x c $< | grep -v "^\#" > $@ |
| 161 | 174 | ||