source: freewrt/toolchain/Makefile@ 131a9d7

freewrt_1_0 freewrt_2_0
Last change on this file since 131a9d7 was 131a9d7, checked in by Waldemar Brodkorb <wbx@…>, 19 years ago

move tools like sed, trx, lzma, which does not belong to the toolchain (gcc,binutils,gdb,libc) to a separate directory, all stuff is compiled with the host compiler

git-svn-id: svn://www.freewrt.org/trunk/freewrt@194 afb5a338-a214-0410-bd46-81f09a774fd1

  • Property mode set to 100644
File size: 2.3 KB
Line 
1# $Id$
2
3include $(TOPDIR)/rules.mk
4
5TARGETS:=binutils gcc uClibc gdb libnotimpl
6
7TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS))
8TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
9
10all: install
11install: $(TARGETS_INSTALL)
12clean: $(TARGETS_CLEAN)
13
14uClibc-prepare: kernel-headers-prepare
15binutils-prepare: uClibc-prepare
16gcc-prepare: binutils-install
17uClibc-compile: gcc-prepare
18gcc-compile: uClibc-install
19
20$(STAGING_DIR):
21 @mkdir -p $(STAGING_DIR)/lib
22 @mkdir -p $(STAGING_DIR)/include
23 @mkdir -p $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)
24 @ln -sf ../lib $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib
25
26$(TOOLCHAIN_STAMP_DIR):
27 @mkdir -p $(TOOLCHAIN_STAMP_DIR)
28
29$(TOOLCHAIN_BUILD_DIR):
30 @mkdir -p $(TOOLCHAIN_BUILD_DIR)
31
32%-prepare: $(TOOLCHAIN_STAMP_DIR) $(STAGING_DIR) $(TOOLCHAIN_BUILD_DIR)
33 @[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
34 $(TRACE) toolchain/$(patsubst %-prepare,%,$@)/prepare; \
35 ${SET_DASHX}; \
36 if test x"$(patsubst %-prepare,%,$@)" = x"uClibc"; then \
37 $(MAKE) -C $(patsubst %-prepare,%,$@) prepare \
38 $(MAKE_TRACE); \
39 else \
40 $(MAKE) -C $(patsubst %-prepare,%,$@) prepare \
41 CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
42 $(MAKE_TRACE); \
43 fi; \
44 }
45 @touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
46
47%-compile: %-prepare
48 @[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
49 $(TRACE) toolchain/$(patsubst %-compile,%,$@)/compile; \
50 ${SET_DASHX}; \
51 if test x"$(patsubst %-compile,%,$@)" = x"uClibc"; then \
52 $(MAKE) -C $(patsubst %-compile,%,$@) compile \
53 $(MAKE_TRACE); \
54 else \
55 $(MAKE) -C $(patsubst %-compile,%,$@) compile \
56 CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
57 $(MAKE_TRACE); \
58 fi; \
59 }
60 @touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
61
62%-install: %-compile
63 @[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
64 $(TRACE) toolchain/$(patsubst %-install,%,$@)/install; \
65 ${SET_DASHX}; \
66 if test x"$(patsubst %-install,%,$@)" = x"uClibc"; then \
67 $(MAKE) -C $(patsubst %-install,%,$@) install \
68 $(MAKE_TRACE); \
69 else \
70 $(MAKE) -C $(patsubst %-install,%,$@) install \
71 CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
72 $(MAKE_TRACE); \
73 fi; \
74 }
75 @touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
76
77%-clean:
78 $(TRACE) toolchain/$(patsubst %-clean,%,$@)/clean
79 @$(MAKE) -C $(patsubst %-clean,%,$@) clean $(MAKE_TRACE)
80 @rm -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$(patsubst %-clean,%,$@)-*
81
Note: See TracBrowser for help on using the repository browser.