(file) Return to Makefile CVS log (file) Jump to this file's LXR Page (dir) Up to [CENS] / emstar

File: [CENS] / emstar / Makefile (download)
Revision: 1.57, Fri Jan 27 05:04:57 2006 UTC (3 years, 9 months ago) by girod
Branch: MAIN
Changes since 1.56: +12 -210 lines
change to the build system to use configure more for native platform.
also sets up several flags to tell whether the platform has various
special libraries.

also separates out clean and help from the rest so that those don't
go thru dependency generation.

configure automatically runs if you don't run it first for the
native architecture.

#
# CENS EmStar Repository Master Makefile
#
# $Id: Makefile,v 1.57 2006/01/27 05:04:57 girod Exp $
#

################### NOTE!!!! ###########################
## Most of the time you want to edit the files called ##
## 'BUILD' and Make.conf, NOT this Makefile.          ##
########################################################


## Sets user-modifiable variables
## e.g. enable TOS, Kernel, native kernel headers, etc
include Make.conf

ifeq ($(ARCH),)
IS_NATIVE=1
endif

include make/make.tinyos

# Set platform-dependent variables.  Including this fragment sets:
#  ARCH -- the target architecture (e.g., arm-linux or i686-linux)
#  NATIVE_ARCH -- the architecture we're compiling under
#  CC, CPP, AR, LD, BINSTRIP -- paths to various utils
include make/make.platform
OBJDIR := obj.$(ARCH)

# the default target
.DEFAULT default:
	@make -f Makefile.main $0

clean:
	if [[ ! ( . -ef ./$(OBJDIR) ) ]] ; then rm -rf ./$(OBJDIR) ; fi
ifeq ($(strip $(IS_NATIVE)), 1)
	rm -f config.make	
	rm -f make/config.h
endif

##
##  The 'help' target.
##  This target provides info about what vars are set and
##  what platforms are available
##

# For debugging purposes, a rule that shows the environment
# and active variables..
help:
	@echo Help:
	@echo " make ARCH=<platform> [executable path]"
	@echo 
	@echo " EmStar supports the following platforms:"
	@echo 
	@echo "  i686-linux (default) is the 'native' platform"
	@echo "    used to buld to run on your host.  Check Make.conf"
	@echo "    to locally customize the native platform."
	@echo 
	@echo "  arm-linux builds for iPAQ"
	@echo "  ipaq-sa builds for all StrongARM-based iPAQs (Familiar)"
	@echo "  stargate builds for Stargate release 7"
	@echo "  stargate-ucla builds for Stargate UCLA release 5"
	@echo "  pasta builds for PASTA"
	@echo "  ilense-104 builds for the ilense testbed"
	@echo 
	@echo "  mica, mica2, mica2dot, cricket, micaz, telos build Mote targets"
	@echo 
	@echo Environment:
	@echo " NATIVE_KCFLAGS=$(NATIVE_KCFLAGS)"
	@echo " PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)"
	@echo " GLIB_PATH=$(GLIB_PATH)"
	@echo " USE_SHARED='$(USE_SHARED)'"
	@echo " BUILD_EMTOS='$(BUILD_EMTOS)'"
	@echo " TOSDIR=$(TOSDIR)"
	@echo " TOS_CONTRIB=$(TOS_CONTRIB)"
	@echo " MAKERULES=$(MAKERULES)"
	@echo " NESC_DIR=$(NESC_DIR)"
	@echo " AVR_DIR=$(AVR_DIR)"


CENS CVS Mailing List
Powered by
ViewCVS 0.9.2