root/trunk/freewrt/tools/Makefile

Revision 3182, 2.5 kB (checked in by tg, 1 year ago)

revert; didn't work out
since we're cross-compiling, we always need mirmake.h

Line 
1 # $FreeWRT$
2 #-
3 # This file is part of the FreeWRT project. FreeWRT is copyrighted
4 # material, please see the LICENCE file in the top-level directory
5 # or at http://www.freewrt.org/licence for details.
6
7 include $(TOPDIR)/rules.mk
8
9 TARGETS:=
10
11 # These must be first
12 TARGETS+=       paxmirabilis    # all depend on it
13 TARGETS+=       sed             # most depend on it
14
15 # Conditionals
16 ifneq (${USE_TOOLS_MKSH},)
17 TARGETS+=       mksh
18 endif
19 TARGETS+=       mirmake         # depends on mksh
20
21 TARGETS+=       brcm-utils
22 TARGETS+=       failsafe
23 TARGETS+=       fwcf
24 TARGETS+=       jffs2
25 TARGETS+=       lzma
26 TARGETS+=       md5crypt
27 TARGETS+=       mkimage
28 TARGETS+=       squashfs
29 ifeq ($(FWRT_GUI_SDK),y)
30 TARGETS+=       cxxtools
31 TARGETS+=       tntnet
32 endif
33 ifeq (${OStype},Linux)
34 TARGETS+=       genext2fs
35 endif
36
37 TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS))
38 TARGETS_INSTALL_LBIN:=$(patsubst %,%-install-lbin,$(TARGETS))
39 TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
40
41 all: install
42 install: $(TARGETS_INSTALL) ${STAGING_DIR}/etc/ipkg.conf wrappers
43 install-lbin: $(TARGETS_INSTALL_LBIN)
44 clean: $(TARGETS_CLEAN)
45
46 wrappers:
47 ifneq ($(strip ${FWRT_USE_CCACHE}),)
48         @for what in gcc g++; do \
49                 if [[ ! -x ${TOPDIR}/lbin/ccache-$$what ]]; then \
50                         rm -f ${TOPDIR}/lbin/ccache-$$what; \
51                         printf '#!/bin/sh\nexec %s ${TARGET_CROSS}%s "$$@"\n' \
52                             ccache $$what >${TOPDIR}/lbin/ccache-$$what; \
53                         chmod 0555 ${TOPDIR}/lbin/ccache-$$what; \
54                 fi; \
55         done
56 endif
57
58 ${STAGING_DIR} ${STAGING_DIR}/etc ${STAGING_TOOLS}:
59         mkdir -p ${STAGING_DIR}/{bin,etc,include,lib,usr} \
60             ${STAGING_TOOLS}/{bin,lib}
61         cd ${STAGING_DIR}/usr; ln -s ../include include
62
63 ${STAGING_DIR}/etc/ipkg.conf: ${STAGING_DIR}/etc
64         echo "dest root /" >${STAGING_DIR}/etc/ipkg.conf
65         echo "option offline_root ${TARGET_DIR}" >>$(STAGING_DIR)/etc/ipkg.conf
66
67 $(TOOLS_BUILD_DIR):
68         @mkdir -p $(TOOLS_BUILD_DIR)
69
70 %-prepare: $(TOOLS_BUILD_DIR)
71         $(TRACE) tools/$(patsubst %-prepare,%,$@)/prepare
72         $(MAKE) -C $(patsubst %-prepare,%,$@) prepare \
73             CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
74             $(MAKE_TRACE)
75
76 %-compile: %-prepare
77         $(TRACE) tools/$(patsubst %-compile,%,$@)/compile
78         $(MAKE) -C $(patsubst %-compile,%,$@) compile \
79             CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
80             $(MAKE_TRACE)
81
82 %-install: %-compile
83         $(TRACE) tools/$(patsubst %-install,%,$@)/install
84         $(MAKE) -C $(patsubst %-install,%,$@) install \
85             CC='$(HOSTCC)' CFLAGS='$(HOSTCFLAGS)' \
86             $(MAKE_TRACE)
87
88 %-install-lbin:
89         $(TRACE) tools/$(patsubst %-install-lbin,%,$@)/install-lbin
90         $(MAKE) -C $(patsubst %-install-lbin,%,$@) install-lbin \
91             $(MAKE_TRACE)
92
93 %-clean:
94         $(TRACE) tools/$(patsubst %-clean,%,$@)/clean
95         @$(MAKE) -C $(patsubst %-clean,%,$@) clean $(MAKE_TRACE)
Note: See TracBrowser for help on using the browser.