blob: de974a56336ad30f8b0cd16f14ef9388c8f20e11 [file] [log] [blame]
#
# Copyright (c) 2009 Mindspeed Technologies, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
#
#
# FPP Makefile
#
# Invoked from top source directory
EMPTY :=
ifeq ("$(shell echo -n)","-n")
# Windows case
MKDIR:= md
RMDIR:= rmdir /q/s
ECHOESCAPE :=
else
# Unix case
MKDIR:= mkdir -p
RMDIR:= rm -rf
ECHOESCAPE := $(EMPTY)\$(EMPTY)
endif
include toolchain.mk
PFE_VERSION_FILE:=c2000/version.h
all: c2000
#all: c100 c1000 c1000_wifi c2000
c2000: class_c2000 tmu_c2000 util_c2000 util_c2000_revA0 class_sbl_c2000 tmu_sbl_c2000
class_c2000 tmu_c2000 util_c2000 util_c2000_revA0 class_sbl_c2000 tmu_sbl_c2000: version
# Target dependent variables
c100: OBJ := obj_c100
c100: CHIP := c100
c100: CFLAGS:=-O3 -Otime -g
c100: CFLAGS+=-DCOMCERTO_100
c100: CFLAGS+=-DENDIAN_LITTLE
c100: CFLAGS+=$(MY_CFLAGS)
c100: ASFLAGS:=--via extasm.via -g
c100: ASMVIAVAR = --predefine$(ECHOESCAPE) $(ECHOESCAPE)"COMCERTO_100 SETL {TRUE}$(ECHOESCAPE)"
c1000: OBJ := obj_c1000
c1000_wifi: OBJ := obj_c1000_wifi
c1000 c1000_wifi: CHIP := c1000
c1000 c1000_wifi: CFLAGS:=-O3 -Otime -g
c1000 c1000_wifi: CFLAGS+=-DCOMCERTO_1000
c1000 c1000_wifi: CFLAGS+=-DENDIAN_LITTLE
c1000 c1000_wifi: ASFLAGS:=--via extasm.via -g
c1000 c1000_wifi: ASMVIAVAR = --predefine $(ECHOESCAPE)"COMCERTO_1000 SETL {TRUE}$(ECHOESCAPE)"
class_c2000: OBJ := obj_c2000/class
tmu_c2000: OBJ := obj_c2000/tmu
util_c2000: OBJ := obj_c2000/util
util_c2000_revA0: OBJ := obj_c2000/util_revA0
class_sbl_c2000: OBJ := obj_c2000/class_sbl
tmu_sbl_c2000: OBJ := obj_c2000/tmu_sbl
class_c2000 tmu_c2000 util_c2000 util_c2000_revA0 class_sbl_c2000 tmu_sbl_c2000: CHIP := c2000
class_c2000 tmu_c2000 class_sbl_c2000 tmu_sbl_c2000: CFLAGS:= -Os -g -Wall -Werror -Wno-multichar -fno-builtin
util_c2000 util_c2000_revA0: CFLAGS:= -O3 -g -Wall -Werror -Wno-multichar -fno-builtin
class_c2000 tmu_c2000 util_c2000 util_c2000_revA0 class_sbl_c2000 tmu_sbl_c2000: CFLAGS+=-DCOMCERTO_2000
class_c2000 tmu_c2000 util_c2000 util_c2000_revA0 class_sbl_c2000 tmu_sbl_c2000: CFLAGS+=-DENDIAN_BIG
class_c2000 class_sbl_c2000: CFLAGS+=-DCOMCERTO_2000_CLASS
tmu_c2000 tmu_sbl_c2000: CFLAGS+=-DCOMCERTO_2000_TMU
util_c2000 util_c2000_revA0 : CFLAGS+=-DCOMCERTO_2000_UTIL
util_c2000_revA0: CFLAGS+=-DREVA_WA
class_c2000: CFLAGS+=-DHW_FETCH_DISABLE
class_c2000 tmu_c2000 util_c2000 util_c2000_revA0 class_sbl_c2000 tmu_sbl_c2000: ASFLAGS:= -g
export CFLAGS ASFLAGS CHIP
c100 c1000 c1000_wifi:
@-$(MKDIR) $(OBJ)
@-echo $(ASMVIAVAR) > $(CURDIR)/$(OBJ)/extasm.via
$(MAKE) -C $(OBJ) -f $(CURDIR)/Makefile_obj -r $(@F) SRCDIR=.. CHIPDIR=$(CHIP) APP=fpp_$@
class_c2000 tmu_c2000 util_c2000 class_sbl_c2000 tmu_sbl_c2000:
@-$(MKDIR) $(OBJ)
$(MAKE) -C $(OBJ) -f $(CURDIR)/Makefile_obj -r $(@F) SRCDIR=../.. CHIPDIR=$(CHIP) APP=$@
util_c2000_revA0:
@-$(MKDIR) $(OBJ)
$(MAKE) -C $(OBJ) -f $(CURDIR)/Makefile_obj -r $(@F) SRCDIR=../.. CHIPDIR=$(CHIP) APP=util_c2000
config: c2000_config
config_check: c2000_config_check
%_config:
$(MAKE) -f $(CURDIR)/config.mk -r config SRCDIR=. CHIPDIR=$(@:_config=)
%_config_check:
$(MAKE) -f $(CURDIR)/config.mk -r config_check SRCDIR=. CHIPDIR=$(@:_config_check=)
clean: clean_c100 clean_c1000 clean_c1000_wifi clean_c2000
clean_c100 clean_c1000 clean_c1000_wifi clean_c2000: clean_% :
@-echo Making clean in obj_$*
@-$(RMDIR) obj_$*
.PHONY: clean clean_c100 clean_c1000 clean_c1000_wifi clean_2000 c100 c1000 c1000_wifi c2000
distclean:
rm -rf pfe-bin.tar.gz
dist: c2000
pfe_bin_files="`find obj_c2000/ -name '*.elf' -not -name '*debug.elf' `"; tar -czf pfe-bin.tar.gz $$pfe_bin_files
version:
if [ -d .git ]; then \
PFE_GIT_VERSION=$$(git describe --always --tags --dirty) ; \
printf "/*Auto-generated file. Do not edit !*/\n#ifndef PFE_VERSION_H\n\n#define PFE_VERSION_H\n\n#define PFE_VERSION \"$${PFE_GIT_VERSION}\"\n\n#endif /* PFE_VERSION_H */\n" > $(PFE_VERSION_FILE) ; \
fi