1
0
mirror of git://projects.qi-hardware.com/iris.git synced 2024-07-05 01:35:27 +03:00
iris/Makefile

53 lines
1.7 KiB
Makefile
Raw Normal View History

2009-06-01 15:26:42 +03:00
# Iris: micro-kernel for a capability-based operating system.
# Makefile: build rules
# Copyright 2009 Bas Wijnen <wijnen@debian.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Define some variables.
CXXFLAGS = -Wno-unused-parameter -fno-strict-aliasing -fno-builtin -nostdinc $(ARCH_CXXFLAGS)
2009-06-08 14:46:13 +03:00
CPPFLAGS = -O5 -fno-inline $(ARCH_CPPFLAGS)
2009-05-11 01:28:12 +03:00
CC = $(CROSS)gcc
LD = $(CROSS)ld
OBJCOPY = $(CROSS)objcopy
2009-06-01 15:26:42 +03:00
headers = kernel.hh iris.h $(arch_headers)
kernel_sources = panic.cc data.cc alloc.cc memory.cc invoke.cc schedule.cc $(arch_kernel_sources)
2009-05-14 21:31:47 +03:00
BUILT_SOURCES = $(kernel_sources) $(boot_sources)
2009-05-11 01:28:12 +03:00
2009-06-01 15:26:42 +03:00
# Include arch-specific rules.
include Makefile.arch
# Disable implicit rules.
%.o: %.S
%.o: %.cc
2009-05-11 01:28:12 +03:00
PYPP = /usr/bin/pypp
2009-05-25 01:31:35 +03:00
%.cc: %.ccp
2009-05-11 01:28:12 +03:00
$(PYPP) --name $< < $< > $@
2009-06-01 15:26:42 +03:00
%.hh: %.hhp
2009-05-11 01:28:12 +03:00
$(PYPP) --name $< < $< > $@
2009-06-01 15:26:42 +03:00
%.o:%.cc Makefile Makefile.arch $(headers)
$(CC) $(CPPFLAGS) $(TARGET_FLAGS) $(CXXFLAGS) -c $< -o $@
2009-05-11 01:28:12 +03:00
2009-06-01 15:26:42 +03:00
%: boot-programs/init.o boot-programs/%.o
2009-06-10 23:54:12 +03:00
$(LD) $(filter %.o,$^) -o $@
#$(OBJCOPY) -S $(OBJCOPYFLAGS) $@
2009-05-11 01:28:12 +03:00
clean:
2009-06-01 15:26:42 +03:00
rm -f *.o boot-programs/*.o kernel kernel.raw kernel.raw.gz $(BUILT_SOURCES) $(ARCH_CLEAN_FILES)
2009-05-11 01:28:12 +03:00
.PHONY: clean