mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-09 05:05:20 -05:00
New makefile solution: A single invocation of 'make' to build the entire tree. Fully controlled dependencies give faster and more correct recompiles.
Many #include lines adjusted to conform to the new standards. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
f66c303467
commit
c6b3d38a15
221 changed files with 2081 additions and 3657 deletions
|
|
@ -1,40 +0,0 @@
|
|||
# __________ __ ___.
|
||||
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
# \/ \/ \/ \/ \/
|
||||
# $Id$
|
||||
#
|
||||
|
||||
INCLUDES= $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
|
||||
-I. -I$(BUILDDIR) -I$(OBJDIR)
|
||||
|
||||
# the header we generate
|
||||
HEADER = $(BUILDDIR)/max_language_size.h
|
||||
|
||||
# This sets up 'SRC' based on the files mentioned in SOURCES
|
||||
include $(TOOLSDIR)/makesrc.inc
|
||||
SOURCES=$(SRC)
|
||||
|
||||
# OUTP is the list of files to depend upon
|
||||
OUTP = $(patsubst %.lang,$(OBJDIR)/%.lng, $(SOURCES))
|
||||
|
||||
# the generated file with features specified genlang-style
|
||||
FEATS=$(BUILDDIR)/apps/genlang-features
|
||||
|
||||
ifndef V
|
||||
SILENT=@
|
||||
endif
|
||||
PRINTS=$(SILENT)$(call info,$(1))
|
||||
|
||||
all: $(HEADER)
|
||||
|
||||
# generic rule for creating .lng from .lang
|
||||
$(OBJDIR)/%.lng : %.lang $(FEATS)
|
||||
$(call PRINTS,GENLANG $<)
|
||||
$(SILENT)$(TOOLSDIR)/genlang -e=$(APPSDIR)/lang/english.lang -t=$(MODELNAME)`cat $(FEATS)` -i=$(TARGET_ID) -b=$@ $<
|
||||
|
||||
$(HEADER): $(OUTP)
|
||||
$(call PRINTS,Make $(HEADER))
|
||||
$(SILENT)echo "#define MAX_LANGUAGE_SIZE `ls -ln $(OBJDIR)/* | awk '{print $$5}' | sort -n | tail -1`" > $(HEADER)
|
||||
34
apps/lang/lang.make
Normal file
34
apps/lang/lang.make
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# __________ __ ___.
|
||||
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
# \/ \/ \/ \/ \/
|
||||
# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
|
||||
#
|
||||
|
||||
LANGS := $(call preprocess, $(APPSDIR)/lang/SOURCES)
|
||||
LANGOBJ := $(LANGS:$(ROOTDIR)/%.lang=$(BUILDDIR)/%.lng)
|
||||
|
||||
SRC += $(ROOTDIR)/lang.o # yes ROOTDIR. root.make will subst it to BUILDDIR.
|
||||
|
||||
CLEANOBJS += $(BUILDDIR)/max_language_size.h $(BUILDDIR)/lang.*
|
||||
|
||||
# $(BUILDDIR)/apps/lang must exist before we create dependencies on it,
|
||||
# otherwise make will simply ignore those dependencies.
|
||||
# Therefore we create it here.
|
||||
#DUMMY := $(shell mkdir -p $(BUILDDIR)/apps/lang)
|
||||
|
||||
$(BUILDDIR)/max_language_size.h: $(LANGOBJ)
|
||||
$(call PRINTS,Create $(notdir $@))
|
||||
$(SILENT)echo "#define MAX_LANGUAGE_SIZE `ls -ln $(BUILDDIR)/apps/lang/* | awk '{print $$5}' | sort -n | tail -1`" > $@
|
||||
|
||||
$(BUILDDIR)/lang.o: $(APPSDIR)/lang/$(LANGUAGE).lang $(BUILDDIR)/apps/features
|
||||
$(SILENT)for f in `cat $(BUILDDIR)/apps/features`; do feat="$$feat:$$f" ; done; \
|
||||
perl -s $(TOOLSDIR)/genlang -p=$(BUILDDIR)/lang -t=$(MODELNAME)$$feat $<
|
||||
$(call PRINTS,CC lang.c)$(CC) $(CFLAGS) -c $(BUILDDIR)/lang.c -o $@
|
||||
|
||||
$(BUILDDIR)/%.lng : $(ROOTDIR)/%.lang $(BUILDDIR)/apps/genlang-features
|
||||
$(call PRINTS,GENLANG $(subst $(ROOTDIR)/,,$<))
|
||||
$(SILENT)mkdir -p $(dir $@)
|
||||
$(SILENT)$(TOOLSDIR)/genlang -e=$(APPSDIR)/lang/english.lang -t=$(MODELNAME)`cat $(BUILDDIR)/apps/genlang-features` -i=$(TARGET_ID) -b=$@ $<
|
||||
Loading…
Add table
Add a link
Reference in a new issue