This repository has been archived on 2021-03-01. You can view files and clone it, but cannot push or open issues or pull requests.
kaneton/kaneton/machine/architecture/ia32/educational/Makefile
Mercier Pierre-Olivier 592c7d5882 It compiles
2013-02-16 21:07:52 +01:00

107 lines
2.5 KiB
Makefile

#
# ---------- header -----------------------------------------------------------
#
# project kaneton
#
# license kaneton
#
# file /home/mycure/kane...e/architecture/ia32/educational/Makefile
#
# created julien quintard [sun dec 10 18:38:17 2006]
# updated julien quintard [sun jan 30 13:06:21 2011]
#
#
# ---------- component --------------------------------------------------------
#
component := kaneton/machine/architecture
#
# ---------- dependencies -----------------------------------------------------
#
include ../../../../../environment/env.mk
#
# ---------- directives -------------------------------------------------------
#
.PHONY: main clear prototypes headers dependencies
#
# ---------- variables --------------------------------------------------------
#
ARCHITECTURE_C := architecture.c \
context.c \
environment.c \
gdt.c \
handler.c \
idt.c \
io.c \
paging.c \
pd.c \
pmode.c \
pt.c \
segmentation.c \
tlb.c \
tss.c
ARCHITECTURE_S := idt_wrappers.S
ARCHITECTURE_O := $(ARCHITECTURE_C:.c=.o) \
$(ARCHITECTURE_S:.S=.o)
ARCHITECTURE_INCLUDE := $(_ARCHITECTURE_INCLUDE_DIR_)/architecture.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/context.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/environment.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/gdt.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/handler.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/idt.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/idt_extern.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/io.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/paging.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/pd.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/pmode.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/pt.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/segmentation.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/tlb.h \
$(_ARCHITECTURE_INCLUDE_DIR_)/tss.h
#
# ---------- rules ------------------------------------------------------------
#
ifeq ($(behaviour),default)
main: dependencies $(_ARCHITECTURE_LO_)
$(_ARCHITECTURE_LO_): $(ARCHITECTURE_O)
$(call env_remove,$(_ARCHITECTURE_LO_),)
$(call env_archive,$(_ARCHITECTURE_LO_),$(ARCHITECTURE_O),)
dependencies:
clear:
$(call env_remove,$(ARCHITECTURE_O),)
$(call env_remove,$(_ARCHITECTURE_LO_),)
$(call env_purge,)
prototypes:
$(call env_prototypes,$(ARCHITECTURE_INCLUDE),)
headers:
$(call env_remove,$(_DEPENDENCY_MK_),)
$(call env_headers,$(ARCHITECTURE_C),)
endif
#
# ---------- dependencies -----------------------------------------------------
#
-include ./$(_DEPENDENCY_MK_)