source: freewrt/tools/brcm-utils/Makefile@ 99cbe83

Last change on this file since 99cbe83 was 99cbe83, checked in by Thorsten Glaser <tg@…>, 19 years ago

the treebreaker ☺

overhaul the fetch'n'checksum system to be more bsd-like

  • make fetch, make checksum supported
  • future expansion possibilities already prepared: – more distfiles than just one – check sizes of downloaded files (size matters!!!!!111) – more hashes than just MD5 – recursive fetch/checksum targets – PERMIT_{SOURCES,DISTFILES}=Yes/«reason» – licence issues
  • download.pl dies

quirks:

  • GNU make only has a poor excuse for a .for loop
  • some things (esp. toolchain and target/linux) now have a ${WRKDIR} where they didn't have it before
  • ${WRKDIR}/.checksum_done – no comment… it was necessary because otherwise everything will get rebuilt every time (did I mention that GNU make sucks?)
  • I had troubles tracking the dependency problems down because GNU make, unlike BSD make, doesn't have good debugging
  • DISTFILES -> FULLDISTFILES
  • DL_DIR -> DISTDIR
  • PKG_SOURCE -> DISTFILES
  • PKG_SOURCE_URL -> MASTER_SITES
  • no @SF and @GNU any more, use BSD network.template syntax (feel free to add more master sites)
  • GNU make doesn't really strip whitespaces from variables… (did I mention how much better BSD make is?)
  • echo 'LOCAL_DISTFILES=/path/to/distfiles' >>${TOPDIR}/prefs.mk will save the need to download 'em, Closes: #102
  • MASTER_SITES now *must* have the trailing slashes (there may be a few that don't and a few with double ones, please fix them)

I've tested that a normal build (unchanged .config from the default) works
on GNU/Linux. There's definitively room for improvement, but most of that
will come with the NFO system only. Fixes appreciated.

This work sponsored by AurISP, part of the NFO conversion project ☻

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

  • Property mode set to 100644
File size: 837 bytes
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
7include $(TOPDIR)/rules.mk
8include ../rules.mk
9
10TARGETS := addpattern trx motorola-bin dgfirmware
11
12UTILS_BUILD_DIR:=$(TOOLS_BUILD_DIR)/utils
13
14prepare: $(UTILS_BUILD_DIR)
15compile: prepare $(patsubst %,$(UTILS_BUILD_DIR)/%,$(TARGETS))
16 mkdir -p $(STAGING_TOOLS)/bin
17 $(CP) $(UTILS_BUILD_DIR)/* $(STAGING_TOOLS)/bin/
18install:
19package:
20clean:
21 rm -rf $(UTILS_BUILD_DIR)
22 for f in $(TARGETS); do \
23 rm -f $(STAGING_TOOLS)/bin/$$f ; \
24 done
25
26$(UTILS_BUILD_DIR):
27 mkdir -p $(UTILS_BUILD_DIR)
28
29$(UTILS_BUILD_DIR)/%: src/%.c
30 $(HOSTCC) -I $(TOPDIR)/scripts $(HOSTCFLAGS) -o $@ \
31 $(patsubst $(UTILS_BUILD_DIR)/%,src/%.c,$@)
32 chmod 755 $@
Note: See TracBrowser for help on using the repository browser.