Changeset 0e4ab80 in mainline for libc/Makefile
- Timestamp:
- 2005-11-16T14:13:31Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1444af8
- Parents:
- 3eddaff
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libc/Makefile
r3eddaff r0e4ab80 1 include ../../arch/$(ARCH)/Makefile.inc 1 # 2 # Copyright (C) 2005 Martin Decky 3 # All rights reserved. 4 # 5 # Redistribution and use in source and binary forms, with or without 6 # modification, are permitted provided that the following conditions 7 # are met: 8 # 9 # - Redistributions of source code must retain the above copyright 10 # notice, this list of conditions and the following disclaimer. 11 # - Redistributions in binary form must reproduce the above copyright 12 # notice, this list of conditions and the following disclaimer in the 13 # documentation and/or other materials provided with the distribution. 14 # - The name of the author may not be used to endorse or promote products 15 # derived from this software without specific prior written permission. 16 # 17 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 18 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20 # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 # 2 28 3 sources=libc.c \ 4 entry.s 29 ## Make some default assumptions 30 # 5 31 6 CFLAGS+=-nostdinc -I. -Werror-implicit-function-declaration -Wmissing-prototypes -Werror 32 ifndef ARCH 33 ARCH = ia32 34 endif 7 35 8 objects:=$(addsuffix .o,$(basename $(sources))) 36 ## Common compiler flags 37 # 9 38 10 .PHONY : all depend build clean dist-clean 39 DEFS = -DARCH=$(ARCH) 40 CFLAGS = -fno-builtin -fomit-frame-pointer -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -nostdlib -nostdinc -Iinclude 41 LFLAGS = -M 42 AFLAGS = 11 43 12 all: dist-clean depend build 44 ## Setup platform configuration 45 # 46 47 include arch/$(ARCH)/Makefile.inc 48 49 ## Toolchain configuration 50 # 51 52 ifeq ($(COMPILER),native) 53 CC = gcc 54 AS = as 55 LD = ld 56 OBJCOPY = objcopy 57 OBJDUMP = objdump 58 else 59 CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc 60 AS = $(TOOLCHAIN_DIR)/$(TARGET)-as 61 LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld 62 OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy 63 OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump 64 endif 65 66 ## Sources 67 # 68 69 GENERIC_SOURCES = \ 70 generic/libc.c 71 72 ARCH_SOURCES = \ 73 arch/$(ARCH)/libc.c 74 75 GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES))) 76 ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES))) 77 78 .PHONY: all clean depend boot 79 80 all: libc.a 13 81 14 82 -include Makefile.depend 15 83 84 clean: 85 -rm -f libc.a 86 find generic/ arch/$(ARCH)/ -name '*.o' -follow -exec rm \{\} \; 87 16 88 depend: 17 $(CC) $( CFLAGS) -M $(sources) >Makefile.depend89 $(CC) $(DEFS) $(CFLAGS) -M $(ARCH_SOURCES) $(GENERIC_SOURCES) > Makefile.depend 18 90 19 build: libc.a 91 libc.a: depend $(ARCH_OBJECTS) $(GENERIC_OBJECTS) 92 20 93 21 clean: 22 find . -name '*.o' -exec rm \{\} \; 23 -rm libc.a 24 25 dist-clean: 26 -rm Makefile.depend 27 -$(MAKE) clean 28 29 libc.a: $(objects) 30 $(AR) rc libc.a $(objects) 94 %.o: %.S 95 $(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@ 31 96 32 97 %.o: %.s 33 $(AS) $(A SFLAGS) $< -o $@98 $(AS) $(AFLAGS) $< -o $@ 34 99 35 100 %.o: %.c 36 $(CC) $( CFLAGS) -c $< -o $@101 $(CC) $(DEFS) $(CFLAGS) -c $< -o $@
Note:
See TracChangeset
for help on using the changeset viewer.