URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [pkgconf/] [rules.mak] - Rev 174
Compare with Previous | Blame | View Log
#=============================================================================## rules.mak## Generic rules for inclusion by all package makefiles.##=============================================================================#####ECOSGPLCOPYRIGHTBEGIN###### -------------------------------------------## This file is part of eCos, the Embedded Configurable Operating System.## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.#### eCos 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 or (at your option) any later version.#### eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.#### As a special exception, if other files instantiate templates or use macros## or inline functions from this file, or you compile this file and link it## with other works to produce a work based on this file, this file does not## by itself cause the resulting work to be covered by the GNU General Public## License. However the source code for this file must still be made available## in accordance with section (3) of the GNU General Public License.#### This exception does not invalidate any other reasons why a work based on## this file might be covered by the GNU General Public License.#### Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.## at http://sources.redhat.com/ecos/ecos-license/## -------------------------------------------#####ECOSGPLCOPYRIGHTEND#####=============================================================================#####DESCRIPTIONBEGIN###### Author(s): jld# Contributors: bartv# Date: 1999-11-04# Purpose: Generic rules for inclusion by all package makefiles# Description:######DESCRIPTIONEND#####=============================================================================# FIXME: This definition belongs in the top-level makefile.export HOST_CC := gcc.PHONY: default build clean tests headers mlt_headers# include any dependency rules generated previouslyifneq ($(wildcard *.deps),)include $(wildcard *.deps)endif# pattern matching rules to generate a library object from source code# object filenames are prefixed to avoid name clashes# a single dependency rule is generated (file extension = ".o.d")%.o.d : %.cifeq ($(HOST),CYGWIN)@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`else@mkdir -p $(dir $@)endif$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.o.d=.tmp) > $@@rm $(@:.o.d=.tmp)%.o.d : %.cxxifeq ($(HOST),CYGWIN)@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`else@mkdir -p $(dir $@)endif$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.o.d=.tmp) > $@@rm $(@:.o.d=.tmp)%.o.d : %.cppifeq ($(HOST),CYGWIN)@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`else@mkdir -p $(dir $@)endif$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.o.d=.tmp) > $@@rm $(@:.o.d=.tmp)%.o.d : %.Sifeq ($(HOST),CYGWIN)@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`else@mkdir -p $(dir $@)endif$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.o.d=.tmp) > $@@rm $(@:.o.d=.tmp)# pattern matching rules to generate a test object from source code# object filenames are not prefixed# a single dependency rule is generated (file extension = ".d")%.d : %.cifeq ($(HOST),CYGWIN)@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`else@mkdir -p $(dir $@)endif$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.d=.tmp) -o $(@:.d=.o) $<@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.d=.tmp) > $@@rm $(@:.d=.tmp)%.d : %.cxxifeq ($(HOST),CYGWIN)@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`else@mkdir -p $(dir $@)endif$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.d=.tmp) -o $(@:.d=.o) $<@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.d=.tmp) > $@@rm $(@:.d=.tmp)%.d : %.cppifeq ($(HOST),CYGWIN)@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`else@mkdir -p $(dir $@)endif$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.d=.tmp) -o $(@:.d=.o) $<@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.d=.tmp) > $@@rm $(@:.d=.tmp)%.d : %.Sifeq ($(HOST),CYGWIN)@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`else@mkdir -p $(dir $@)endif$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.d=.tmp) -o $(@:.d=.o) $<@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.d=.tmp) > $@@rm $(@:.d=.tmp)# rule to generate a test executable from object code$(PREFIX)/tests/$(PACKAGE)/%$(EXEEXT): %.d $(wildcard $(PREFIX)/lib/target.ld) $(wildcard $(PREFIX)/lib/*.[ao])ifeq ($(HOST),CYGWIN)@mkdir -p `cygpath -w "$(dir $@)" | sed "s@\\\\\\\\@/@g"`else@mkdir -p $(dir $@)endififneq ($(IGNORE_LINK_ERRORS),)-$(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(<:.d=.o)else$(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(<:.d=.o)endif# rule to generate all tests and create a dependency file "tests.deps" by# concatenating the individual dependency rule files (file extension = ".d")# generated during compilationtests: tests.stampTESTS := $(TESTS:.cpp=)TESTS := $(TESTS:.cxx=)TESTS := $(TESTS:.c=)TESTS := $(TESTS:.S=)tests.stamp: $(foreach target,$(TESTS),$(target).d $(PREFIX)/tests/$(PACKAGE)/$(target)$(EXEEXT))ifneq ($(strip $(TESTS)),)@cat $(TESTS:%=%.d) > $(@:.stamp=.deps)endif@touch $@# rule to clean the build treeclean:@find . -type f -print | grep -v makefile | xargs rm -f# rule to copy MLT filesmlt_headers: $(foreach x,$(MLT),$(PREFIX)/include/pkgconf/$(notdir $x))$(foreach x,$(MLT),$(PREFIX)/include/pkgconf/$(notdir $x)): $(MLT)@cp $(dir $<)/$(notdir $@) $(PREFIX)/include/pkgconf@chmod u+w $(PREFIX)/include/pkgconf/$(notdir $@)# end of file
