Changeset 04803bf in mainline for uspace/lib/c/Makefile
- Timestamp:
- 2011-03-21T22:00:17Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 143932e
- Parents:
- b50b5af2 (diff), 7308e84 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/Makefile
rb50b5af2 r04803bf 1 1 # 2 2 # Copyright (c) 2005 Martin Decky 3 # Copyright (c) 200 8 Jiri Svoboda3 # Copyright (c) 2007 Jakub Jermar 4 4 # All rights reserved. 5 5 # … … 28 28 # 29 29 30 ## Common compiler flags 31 # 30 USPACE_PREFIX = ../.. 31 ROOT_PATH = $(USPACE_PREFIX)/.. 32 32 33 LIBC_PREFIX = $(shell pwd) 34 SOFTINT_PREFIX = ../softint 33 INCLUDE_KERNEL = include/kernel 34 INCLUDE_ARCH = include/arch 35 INCLUDE_LIBARCH = include/libarch 36 INCLUDE_RTLDARCH = rtld/include/arch 35 37 38 COMMON_MAKEFILE = $(ROOT_PATH)/Makefile.common 39 COMMON_HEADER = $(ROOT_PATH)/common.h 40 COMMON_HEADER_ARCH = arch/$(UARCH)/include/common.h 36 41 37 ## Setup toolchain 38 # 42 CONFIG_MAKEFILE = $(ROOT_PATH)/Makefile.config 39 43 40 include $(LIBC_PREFIX)/Makefile.toolchain 44 PRE_DEPEND = $(INCLUDE_KERNEL) $(INCLUDE_ARCH) $(INCLUDE_LIBARCH) $(INCLUDE_RTLDARCH) $(COMMON_HEADER_ARCH) 45 EXTRA_OUTPUT = $(LINKER_SCRIPT) 46 EXTRA_CLEAN = $(INCLUDE_KERNEL) $(INCLUDE_ARCH) $(INCLUDE_LIBARCH) $(INCLUDE_RTLDARCH) $(COMMON_HEADER_ARCH) $(LINKER_SCRIPT) 47 LIBRARY = libc 48 49 -include $(COMMON_MAKEFILE) 50 -include $(CONFIG_MAKEFILE) 51 -include arch/$(UARCH)/Makefile.inc 41 52 -include rtld/arch/$(UARCH)/Makefile.inc 42 53 43 CFLAGS += -Irtld/include -I../../srv/loader/include -D__32_BITS__ 44 PIC_CFLAGS := $(CFLAGS) -fPIC -D__IN_SHARED_LIBC__ 45 46 ## Sources 47 # 54 EXTRA_CFLAGS += -Irtld/include -I../../srv/loader/include 48 55 49 56 GENERIC_SOURCES = \ … … 52 59 generic/as.c \ 53 60 generic/cap.c \ 61 generic/clipboard.c \ 54 62 generic/devmap.c \ 63 generic/devman.c \ 64 generic/device/hw_res.c \ 65 generic/device/char_dev.c \ 66 generic/dlfcn.c \ 55 67 generic/event.c \ 56 68 generic/errno.c \ 57 69 generic/mem.c \ 58 generic/string.c \ 70 generic/str.c \ 71 generic/str_error.c \ 59 72 generic/fibril.c \ 60 generic/fibril_sync .c \73 generic/fibril_synch.c \ 61 74 generic/pcb.c \ 62 75 generic/smc.c \ … … 74 87 generic/io/printf_core.c \ 75 88 generic/io/console.c \ 89 generic/io/screenbuffer.c \ 90 generic/ipc/ns.c \ 76 91 generic/malloc.c \ 77 92 generic/sysinfo.c \ 78 93 generic/ipc.c \ 79 94 generic/async.c \ 80 generic/ dlfcn.c \95 generic/async_sess.c \ 81 96 generic/loader.c \ 82 97 generic/getopt.c \ 83 generic/adt/list.o \ 84 generic/adt/hash_table.o \ 98 generic/adt/list.c \ 99 generic/adt/hash_table.c \ 100 generic/adt/dynamic_fifo.c \ 101 generic/adt/measured_strings.c \ 102 generic/adt/char_map.c \ 85 103 generic/time.c \ 86 generic/err.c \87 104 generic/stdlib.c \ 88 105 generic/mman.c \ … … 90 107 generic/vfs/vfs.c \ 91 108 generic/vfs/canonify.c \ 109 generic/net/inet.c \ 110 generic/net/icmp_common.c \ 111 generic/net/icmp_api.c \ 112 generic/net/modules.c \ 113 generic/net/packet.c \ 114 generic/net/socket_client.c \ 115 generic/net/socket_parse.c \ 116 generic/stacktrace.c \ 117 generic/arg_parse.c \ 118 generic/sort.c \ 119 generic/stats.c \ 92 120 rtld/rtld.c \ 93 121 rtld/elf_load.c \ … … 96 124 rtld/symbol.c 97 125 126 SOURCES = \ 127 $(GENERIC_SOURCES) \ 128 $(ARCH_SOURCES) 98 129 99 ARCH_SOURCES += \ 100 arch/$(UARCH)/src/entry.s \ 101 arch/$(UARCH)/src/thread_entry.s 130 include $(USPACE_PREFIX)/Makefile.common 102 131 103 GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES))) 104 ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES))) 105 OBJECTS := $(GENERIC_OBJECTS) $(ARCH_OBJECTS) 106 PIC_OBJECTS := $(addsuffix .pio,$(basename $(OBJECTS))) 132 $(INCLUDE_ARCH): $(INCLUDE_KERNEL) $(INCLUDE_KERNEL)/arch 133 ln -sfn kernel/arch $@ 107 134 108 OUTPUT := libc.a 135 $(INCLUDE_LIBARCH): arch/$(UARCH)/include 136 ln -sfn ../$< $@ 109 137 110 ifeq ($(CONFIG_BUILD_SHARED_LIBC), y) 111 OUTPUT += libc.pic.a 112 endif 138 $(INCLUDE_RTLDARCH): rtld/arch/$(UARCH)/include 139 ln -sfn ../../$< $@ 113 140 114 .PHONY: all clean depend kerninc 141 $(INCLUDE_KERNEL)/arch: ../../../kernel/generic/include/arch $(INCLUDE_KERNEL) 115 142 116 all: kerninc $(OUTPUT) arch/$(UARCH)/_link.ld 143 $(INCLUDE_KERNEL): ../../../kernel/generic/include/ 144 ln -sfn ../$< $@ 117 145 118 kerninc: 119 ln -sfn ../../../../kernel/generic/include include/kernel 120 ln -sfn kernel/arch include/arch 121 ln -sfn ../arch/$(UARCH)/include include/libarch 122 ln -sfn ../arch/$(UARCH)/include rtld/include/arch 146 $(LINKER_SCRIPT): $(LINKER_SCRIPT).in 147 $(GCC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -E -x c $< | grep -v "^\#" > $@ 123 148 124 -include Makefile.depend 125 126 clean: 127 -rm -f include/kernel include/arch include/libarch rtld/include/arch libc.a libc.pic.a arch/$(UARCH)/_link.ld Makefile.depend 128 find . \( -name '*.o' -o -name '*.pio' \) -follow -exec rm \{\} \; 129 130 depend: kerninc 131 -makedepend -f - -- $(DEPEND_DEFS) $(CFLAGS) -- $(ARCH_SOURCES) $(GENERIC_SOURCES) > Makefile.depend 2> /dev/null 132 -makedepend $(DEFS) $(PIC_CFLAGS) -o.pio -f - $(ARCH_SOURCES) $(GENERIC_SOURCES) >> Makefile.depend 2> /dev/null 133 134 libc.a: depend $(OBJECTS) 135 $(AR) rc $@ $(LIBS) $(OBJECTS) 136 137 libc.pic.a: depend $(PIC_OBJECTS) 138 $(AR) rc $@ $(LIBS) $(PIC_OBJECTS) 139 140 arch/$(UARCH)/_link.ld: arch/$(UARCH)/_link.ld.in 141 $(CC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@ 142 143 %.o: %.S 144 $(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@ 145 146 %.o: %.s 147 $(AS) $(AFLAGS) $< -o $@ 148 149 %.o: %.c 150 $(CC) $(DEFS) $(CFLAGS) -c $< -o $@ 151 152 %.pio: %.S 153 $(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@ 154 155 %.pio: %.s 156 $(AS) $(AFLAGS) $< -o $@ 157 158 %.pio: %.c 159 $(CC) $(DEFS) $(PIC_CFLAGS) -c $< -o $@ 149 $(COMMON_HEADER_ARCH): $(COMMON_HEADER) 150 ln -sfn ../../../$< $@
Note:
See TracChangeset
for help on using the changeset viewer.