[go: up one dir, main page]

Menu

[r4]: / phase_2.3 / Makefile  Maximize  Restore  History

Download this file

106 lines (81 with data), 2.6 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
# CROCOS: Makefile
#
# Copyright (C) 2006-2008 Guillaume Duranceau
#
# klibc
KLIBC_SUBDIR = klibc
KLIBC = $(KLIBC_SUBDIR)/klibc.a
KLIBC_INC = $(KLIBC_SUBDIR)/include/klibc
KLIBC_ARCH_INC = $(KLIBC_INC)/arch
KLIBC_SRC = $(KLIBC_SUBDIR)/src
KLIBC_X86_SRC = $(KLIBC_SRC)/arch/x86
KLIBC_TEST = $(KLIBC_SUBDIR)/test
KLIBC_INC_FILES = $(wildcard $(KLIBC_INC)/*.h) \
$(wildcard $(KLIBC_ARCH_INC)/*.h)
KLIBC_SRC_CC_FILES = $(wildcard $(KLIBC_SRC)/*.c) \
$(wildcard $(KLIBC_X86_SRC)/*.c)
KLIBC_SRC_AS_FILES = $(wildcard $(KLIBC_X86_SRC)/*.S)
KLIBC_SRC_FILES = $(KLIBC_INC_FILES) \
$(KLIBC_SRC_CC_FILES) \
$(KLIBC_SRC_AS_FILES)
KLIBC_OBJ_FILES = $(patsubst %.c, %.o, $(KLIBC_SRC_CC_FILES)) \
$(patsubst %.S, %.o, $(KLIBC_SRC_AS_FILES))
# crocos
CROCOS_SUBDIRS = crocos/devices crocos/intr crocos/main crocos/process
# usr
USR_SUBDIR = usr
USR_INC = $(USR_SUBDIR)/include
USR_SRC = $(USR_SUBDIR)/src
USR_LIB = $(USR_SUBDIR)/lib
# usr - libcrocos
LIBCROCOS = $(USR_LIB)/libcrocos.a
LIBCROCOS_INC = $(USR_INC)/crocos
LIBCROCOS_SRC = $(USR_SRC)/crocos
LIBCROCOS_INC_FILES = $(wildcard $(LIBCROCOS_INC)/*.h)
LIBCROCOS_SRC_CC_FILES = $(wildcard $(LIBCROCOS_SRC)/*.c)
LIBCROCOS_SRC_FILES = $(LIBCROCOS_INC_FILES) $(LIBCROCOS_SRC_CC_FILES)
LIBCROCOS_OBJ_FILES = $(patsubst %.c, %.o, $(LIBCROCOS_SRC_CC_FILES))
# usr - init
INIT = $(USR_SRC)/init
# usr - test
USR_TEST = $(USR_SRC)/test
include var.mk
.PHONY: all check clean crocos crocos-clean klibc klibc-check \
klibc-clean libcrocos libcrocos-clean usr usr-clean test-clean
all: klibc crocos libcrocos usr
clean: klibc-clean crocos-clean libcrocos-clean usr-clean test-clean
check: all
@$(MAKE) -s -C $(USR_TEST)
@$(MAKE) -s -C $(USR_TEST) check
klibc: $(KLIBC)
klibc-check: $(KLIBC)
@$(MAKE) -s -C $(KLIBC_TEST)
@$(MAKE) -s -C $(KLIBC_TEST) check
klibc-clean:
@$(MAKE) -s -C $(KLIBC_SRC) clean
@$(MAKE) -s -C $(KLIBC_TEST) clean
@echo "Cleaning $(KLIBC)"
@$(RM) $(KLIBC)
$(KLIBC): $(KLIBC_SRC_FILES)
@$(MAKE) -s -C $(KLIBC_SRC)
@echo "Linking $(KLIBC)"
@$(AR) -r $(KLIBC) $(KLIBC_OBJ_FILES)
crocos:
@for dir in $(CROCOS_SUBDIRS); do $(MAKE) -s -C $$dir; done
crocos-clean:
@for dir in $(CROCOS_SUBDIRS); do $(MAKE) -s -C $$dir clean; done
libcrocos: $(LIBCROCOS)
libcrocos-clean:
@$(MAKE) -s -C $(LIBCROCOS_SRC) clean
@echo "Cleaning $(LIBCROCOS)"
@$(RM) $(LIBCROCOS)
$(LIBCROCOS): $(LIBCROCOS_SRC_FILES)
@$(MAKE) -s -C $(LIBCROCOS_SRC)
@echo "Linking $(LIBCROCOS)"
@$(AR) -r $(LIBCROCOS) $(LIBCROCOS_OBJ_FILES)
usr:
@$(MAKE) -s -C $(INIT)
usr-clean:
@$(MAKE) -s -C $(INIT) clean
test-clean:
@$(MAKE) -s -C $(USR_TEST) clean