source: freewrt/package/shfs/Makefile@ 55417bb

Last change on this file since 55417bb 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: 1.4 KB
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 ${TOPDIR}/mk/targets.mk
9
10PKG_NAME:= shfs
11PKG_VERSION:= 0.35
12PKG_RELEASE:= 3
13PKG_MD5SUM:= 016f49d71bc32eee2b5d11fc1600cfbe
14MASTER_SITES:= ${MASTER_SITE_SOURCEFORGE:=${PKG_NAME}/}
15
16include ${TOPDIR}/mk/package.mk
17
18$(eval $(call PKG_template,SHFS,shfs,${PKG_VERSION}-${PKG_RELEASE},${ARCH}))
19
20
21do-build:
22 ${MAKE} -C ${WRKBUILD} \
23 OFLAGS="${TARGET_CFLAGS}" \
24 CC="${TARGET_CC}" \
25 LINKER="${TARGET_CC}" \
26 KERNEL_SOURCES="${LINUX_DIR}" \
27 ROOT="${WRKINST}" \
28 utils utils-install
29 ${MAKE} -C ${WRKBUILD} \
30 ARCH="${KERNEL_ARCH}" \
31 CROSS_COMPILE="${TARGET_CROSS}" \
32 OFLAGS="${TARGET_CFLAGS}" \
33 CC="${TARGET_CC}" \
34 LINKER="${TARGET_CC}" \
35 KERNEL="${KERNEL_VERSION}" \
36 KERNEL_SOURCES="${LINUX_DIR}" \
37 ROOT="${WRKINST}" \
38 module module-install
39
40do-install:
41 ${INSTALL_DIR} ${IDIR_SHFS}/usr/sbin
42 ${INSTALL_DIR} ${IDIR_SHFS}/lib/modules/${KERNEL_VERSION}
43 ${CP} ${WRKINST}/usr/sbin/shfs{,u}mount ${IDIR_SHFS}/usr/sbin/
44 ${CP} ${WRKINST}/usr/sbin/mount.shfs ${IDIR_SHFS}/usr/sbin/
45 ${CP} ${WRKINST}/lib/modules/${KERNEL_VERSION}/kernel/fs/shfs/shfs.${KERNEL_MOD_SUFFIX} \
46 ${IDIR_SHFS}/lib/modules/${KERNEL_VERSION}/
47
48include ${TOPDIR}/mk/pkg-bottom.mk
Note: See TracBrowser for help on using the repository browser.