Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Makefile.in « csky « libgloss - cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: d3f6ce5e3a7283275692a16bea4628e1fb08febf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Copyright (c) 1995, 1996, 2001 Cygnus Support  -*- mode:makefile -*-
#
# The authors hereby grant permission to use, copy, modify, distribute,
# and license this software and its documentation for any purpose, provided
# that existing copyright notices are retained in all copies and that this
# notice is included verbatim in any distributions. No written agreement,
# license, or royalty fee is required for any of the authorized uses.
# Modifications to this software may be copyrighted by their authors
# and need not follow the licensing terms described here, provided that
# the new terms are clearly indicated on the first page of each file where
# they apply.
#
# csky semihosting support.
#

DESTDIR =
VPATH = @srcdir@
srcdir = @srcdir@
objdir = .
srcroot = $(srcdir)/../..
objroot = $(objdir)/../..

prefix = @prefix@
exec_prefix = @exec_prefix@

host_alias = @host_alias@
target_alias = @target_alias@
program_transform_name = @program_transform_name@

bindir = @bindir@
libdir = @libdir@
tooldir = $(exec_prefix)/$(target_alias)

# Multilib support variables.
# TOP is used instead of MULTI{BUILD,SRC}TOP.
MULTIDIRS =
MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true

INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@

SHELL =	/bin/sh

CC = @CC@

AS = @AS@
AR = @AR@
LD = @LD@
RANLIB = @RANLIB@
AR_FLAGS = qv

OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \
	then echo ${objroot}/../binutils/objdump ; \
	else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi`
OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
	then echo ${objroot}/../binutils/objcopy ; \
	else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`

DO = @DO@

CRT0=crt0.S

#
# here's all the hosted stuff
#
HOSTED_BSP=	libsemi.a
HOSTED_SRS=     io-semi.S
HOSTED_SRC=     sbrk.c io-gdb.c io-exit.c io-close.c io-fstat.c io-gettimeofday.c \
                io-lseek.c io-read.c io-system.c io-unlink.c io-exit.c \
                io-gdb.c io-isatty.c io-open.c io-rename.c io-stat.c \
                io-time.c io-write.c kill.o getpid.o
HOSTED_OBJS=	$(patsubst %.c,%.o,$(HOSTED_SRC))

INCLUDES+= -I/home/xialf/workspace/newlib-2.5.0.20171222/newlib/libc/include

# Host specific makefile fragment comes in here.
@host_makefile_frag@

all :: $(HOSTED_BSP)

#
# here's where we build the board support packages for each target
#

# build hosted library
$(HOSTED_OBJS) : %.o : %.c
	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) -nostdlib -DHOSTED=1 $(INCLUDES) -c $< -o $@
$(HOSTED_SRS:%.S=%.o): %.o : %.S
	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) -nostdlib -DHOSTED=1 $(INCLUDES) -c $< -o $@

$(HOSTED_BSP): $(HOSTED_OBJS)  $(HOSTED_SRS:%.S=%.o)
	${AR} ${ARFLAGS} $@ $^
	${RANLIB} $@

crt0.o: $(CRT0)
	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) -c $< -o $@

.PHONY: install info dvi doc install-info clean-info
install:: $(DO:%=install_%) crt0.o
	$(INSTALL_PROGRAM) crt0.o $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(crt0.o)

$(DO:%=install_%): install_hosted

.PHONY:install_hosted
install_hosted::
	$(INSTALL_PROGRAM) $(HOSTED_BSP) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(HOSTED_BSP)

# target specific makefile fragment comes in here.
@target_makefile_frag@

clean mostlyclean:
	rm -f a.out core *.i *~ *.a *.o *-test *.srec *.dis *.x *.map

distclean maintainer-clean realclean: clean
	rm -f Makefile config.cache config.log config.status

info dvi doc:
install-info:
clean-info:

Makefile: Makefile.in config.status @host_makefile_frag_path@ @target_makefile_frag_path@
	$(SHELL) config.status

config.status: configure
	$(SHELL) config.status --recheck