]> sourceware.org Git - newlib-cygwin.git/blame - winsup/utils/Makefile.in
Implement fmemopen and open_memstream.
[newlib-cygwin.git] / winsup / utils / Makefile.in
CommitLineData
1fd5e000 1# Makefile for Cygwin utilities
4d7c0b51
CF
2# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
3# 2005, 2006 Red Hat, Inc.
1fd5e000
CF
4
5# This file is part of Cygwin.
6
7# This software is a copyrighted work licensed under the terms of the
8# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
9# details.
10
11SHELL:=@SHELL@
12
13srcdir:=@srcdir@
14VPATH:=@srcdir@
15prefix:=@prefix@
16exec_prefix:=@exec_prefix@
17
18bindir:=@bindir@
1fd5e000
CF
19program_transform_name:=@program_transform_name@
20
9ddd929f
CF
21override INSTALL:=@INSTALL@
22override INSTALL_PROGRAM:=@INSTALL_PROGRAM@
23override INSTALL_DATA:=@INSTALL_DATA@
1fd5e000
CF
24
25EXEEXT:=@EXEEXT@
26EXEEXT_FOR_BUILD:=@EXEEXT_FOR_BUILD@
27
28CC:=@CC@
29CC_FOR_TARGET:=$(CC)
92311ab5 30CXX:=@CXX@
ce475802 31CXX_FOR_TARGET:=$(CXX)
1fd5e000
CF
32
33CFLAGS:=@CFLAGS@
2c2473bc 34CXXFLAGS:=@CXXFLAGS@
67763c0c 35override CXXFLAGS+=-fno-exceptions -fno-rtti -DHAVE_DECL_GETOPT=0
1fd5e000
CF
36
37include $(srcdir)/../Makefile.common
38
7c03f799 39LIBICONV:=@libiconv@
67763c0c
CF
40libbfd:=${shell $(CC) -B$(bupdir2)/bfd/ --print-file-name=libbfd.a}
41libintl:=${shell $(CC) -B$(bupdir2)/intl/ --print-file-name=libintl.a}
7c03f799 42build_dumper:=${shell test -r $(libbfd) -a -r $(libintl) -a -n "$(LIBICONV)" && echo 1}
0715614b 43
3a256354
CF
44libz:=${shell x=$$($(CC) -mno-cygwin --print-file-name=libz.a); cd $$(dirname $$x); dir=$$(pwd); case "$$dir" in *mingw*) echo $$dir/libz.a ;; esac}
45zlib_h:=-include ${patsubst %/lib/mingw/libz.a,%/include/zlib.h,${patsubst %/lib/libz.a,%/include/zlib.h,$(libz)}}
46zconf_h:=${patsubst %/zlib.h,%/zconf.h,$(zlib_h)}
47ifeq "${libz}" ""
d31c5928
CF
48zlib_h:=
49zconf_h:=
50libz:=
51endif
52
0ad10c0f
CF
53DUMPER_INCLUDES:=-I$(bupdir2)/bfd -I$(updir1)/include
54
1fd5e000
CF
55libcygwin:=$(cygwin_build)/libcygwin.a
56libuser32:=$(w32api_lib)/libuser32.a
57libkernel32:=$(w32api_lib)/libkernel32.a
58ALL_DEP_LDLIBS:=$(libcygwin) $(w32api_lib)/libnetapi32.a \
59 $(w32api_lib)/libadvapi32.a $(w32api_lib)/libkernel32.a \
60 $(w32api_lib)/libuser32.a
61
62ALL_LDLIBS:=${patsubst $(w32api_lib)/lib%.a,-l%,\
63 ${filter-out $(libuser32),\
64 ${filter-out $(libkernel32),\
65 ${filter-out $(libcygwin), $(ALL_DEP_LDLIBS)}}}}
66
67MINGW_LIB:=$(mingw_build)/libmingw32.a
212ed5e0 68DUMPER_LIB:=${libbfd} ${libintl} -L$(bupdir1)/libiberty $(LIBICONV) -liberty
b07b167e 69MINGW_LDLIBS:=${filter-out $(libcygwin),$(ALL_LDLIBS) $(MINGW_LIB)}
72ac8b4f 70MINGW_DEP_LDLIBS:=${ALL_DEP_LDLIBS} ${MINGW_LIB}
92005b4c 71ALL_LDFLAGS:=-B$(newlib_build)/libc -B$(w32api_lib) $(LDFLAGS) $(ALL_LDLIBS)
eedc36cb 72DUMPER_LDFLAGS:=$(ALL_LDFLAGS) $(DUMPER_LIB)
b07b167e 73MINGW_CXX:=${patsubst %/cygwin/include,%/mingw/include,${filter-out -I$(newlib_source)/%,$(COMPILE_CXX)}} -I$(updir)
1fd5e000 74
ae21eea6 75PROGS:= cygcheck.exe cygpath.exe getfacl.exe kill.exe mkgroup.exe \
a9f20457 76 mkpasswd.exe mount.exe passwd.exe ps.exe regtool.exe setfacl.exe \
e60e8d3b 77 setmetamode.exe ssp.exe strace.exe umount.exe ipcrm.exe ipcs.exe
0715614b 78
1b38471e 79CLEAN_PROGS:=$(PROGS)
fa10472e 80ifndef build_dumper
0715614b 81PROGS:=warn_dumper $(PROGS)
fa10472e
CF
82else
83PROGS+=dumper$(EXEEXT)
1b38471e 84CLEAN_PROGS+=dumper.exe
0715614b 85endif
1fd5e000 86
1fd5e000
CF
87.SUFFIXES:
88.NOEXPORT:
89
0715614b 90.PHONY: all install clean realclean warn_dumper
1fd5e000
CF
91
92all: Makefile $(PROGS)
93
4a6890e7 94strace.exe: strace.o path.o $(MINGW_DEP_LDLIBS)
1fd5e000 95ifdef VERBOSE
704d8c32 96 $(CXX) $(MINGW_CXXFLAGS) -o $@ ${wordlist 1,2,$^} -B$(mingw_build)/ $(MINGW_LDFLAGS)
1fd5e000 97else
ce475802 98 @echo $(CXX) -o $@ ${wordlist 1,2,$^} ${filter-out -B%, $(MINGW_CXXFLAGS) $(MINGW_LDFLAGS)};\
704d8c32 99 $(CXX) $(MINGW_CXXFLAGS) -o $@ ${wordlist 1,2,$^} -B$(mingw_build)/ $(MINGW_LDFLAGS)
1fd5e000
CF
100endif
101
85815512 102cygcheck.exe: cygcheck.o path.o dump_setup.o $(MINGW_DEP_LDLIBS)
d31c5928 103ifeq "$(libz)" ""
3a256354 104 @echo '*** Building cygcheck without package content checking due to missing mingw libz.a.'
d31c5928 105endif
2fac517d 106ifdef VERBOSE
85815512 107 $(CXX) $(MINGW_CXXFLAGS) -o $@ ${wordlist 1,3,$^} -B$(mingw_build)/ $(MINGW_LDFLAGS) $(libz)
2fac517d 108else
85815512
CV
109 @echo $(CXX) -o $@ ${wordlist 1,3,$^} ${filter-out -B%, $(MINGW_CXXFLAGS) $(MINGW_LDFLAGS)} $(libz);\
110 $(CXX) $(MINGW_CXXFLAGS) -o $@ ${wordlist 1,3,$^} -B$(mingw_build)/ $(MINGW_LDFLAGS) $(libz)
2fac517d
CF
111endif
112
0ad10c0f 113dumper.o: dumper.cc dumper.h
ce475802 114ifdef VERBOSE
5dec13e1 115 ${filter-out -nostdinc,$(COMPILE_CXX)} $c -o $@ $(DUMPER_INCLUDES) ${firstword $^}
ce475802 116else
a239df7f 117 @echo $(CXX) $c $(CFLAGS) $(DUMPER_INCLUDES) ... $(basename $@).cc;\
5dec13e1 118 ${filter-out -nostdinc,$(COMPILE_CXX)} $c -o $(@D)/$(basename $@)$o $(DUMPER_INCLUDES) $<
ce475802
CF
119endif
120
0ad10c0f 121module_info.o: module_info.cc
ce475802 122ifdef VERBOSE
5dec13e1 123 ${filter-out -nostdinc,$(COMPILE_CXX)} $c -o $@ $(DUMPER_INCLUDES) ${firstword $^}
ce475802 124else
a239df7f 125 @echo $(CXX) $c $(CFLAGS) $(DUMPER_INCLUDES) ... $(basename $@).cc;\
5dec13e1 126 ${filter-out -nostdinc,$(COMPILE_CXX)} $c -o $(@D)/$(basename $@)$o $(DUMPER_INCLUDES) $<
ce475802 127endif
0ad10c0f
CF
128
129parse_pe.o: parse_pe.cc dumper.h
ce475802 130ifdef VERBOSE
5dec13e1 131 ${filter-out -nostdinc,$(COMPILE_CXX)} $c -o $@ $(DUMPER_INCLUDES) ${firstword $^}
ce475802 132else
a239df7f 133 @echo $(CXX) $c $(CFLAGS) $(DUMPER_INCLUDES) ... $(basename $@).cc;\
5dec13e1 134 ${filter-out -nostdinc,$(COMPILE_CXX)} $c -o $(@D)/$(basename $@)$o $(DUMPER_INCLUDES) $<
ce475802 135endif
0ad10c0f 136
2fac517d
CF
137path.o: path.cc
138ifdef VERBOSE
b07b167e 139 $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) $<
2fac517d 140else
b07b167e
CF
141 @echo $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) ... $^;\
142 ${MINGW_CXX} $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) $<
2fac517d
CF
143endif
144
d0d51791
CF
145dump_setup.o: dump_setup.cc
146ifdef VERBOSE
b07b167e 147 $(MINGW_CXX) $(zconf_h) $(zlib_h) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) $<
d0d51791 148else
b07b167e
CF
149 @echo $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) ... $^;\
150 $(MINGW_CXX) $(zconf_h) $(zlib_h) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) $<
d0d51791
CF
151endif
152
ad466e2f
CF
153cygcheck.o: cygcheck.cc
154ifdef VERBOSE
bd79b736 155 ${MINGW_CXX} $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) -I$(updir) $<
ad466e2f 156else
bd79b736
CF
157 @echo $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) ... $^;\
158 ${MINGW_CXX} $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) -I$(updir) $<
ad466e2f
CF
159endif
160
161strace.o: strace.cc
162ifdef VERBOSE
b07b167e 163 $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) -I$(updir) $<
ad466e2f 164else
b07b167e
CF
165 @echo $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) ... $^;\
166 $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) -I$(updir) $<
ad466e2f
CF
167endif
168
5c8891e9 169kill.exe: kill.o
c49fa762
CF
170ifdef VERBOSE
171 $(CXX) -o $@ $^ -B$(cygwin_build)/ $(ALL_LDFLAGS) $(KILL_LIB)
172else
173 @echo $(CXX) -o $@ $^ ${filter-out -B%, $(ALL_LDFLAGS)};\
174 $(CXX) -o $@ $^ -B$(cygwin_build)/ $(ALL_LDFLAGS) $(KILL_LIB)
175endif
176
1fd5e000 177clean:
1b38471e 178 rm -f *.o $(CLEAN_PROGS)
1fd5e000
CF
179
180realclean: clean
181 rm -f Makefile config.cache
182
183install: all
14a4d598 184 $(SHELL) $(updir1)/mkinstalldirs $(bindir)
1fd5e000
CF
185 for i in $(PROGS) ; do \
186 n=`echo $$i | sed '$(program_transform_name)'`; \
187 $(INSTALL_PROGRAM) $$i $(bindir)/$$n; \
188 done
189
190$(cygwin_build)/libcygwin.a: $(cygwin_build)/Makefile
191 @$(MAKE) -C $(@D) $(@F)
192
193$(mingw_build)/libmingw32.a: $(mingw_build)/Makefile
194 @$(MAKE) -C $(@D) $(@F)
195
0715614b 196warn_dumper:
10e1fce6
CF
197 @echo '*** Not building dumper.exe since some required libraries are'
198 @echo '*** missing: libbfd.a and libintl.a.'
199 @echo '*** If you need this program, check out the naked-bfd and naked-intl'
200 @echo '*** sources from sources.redhat.com. Then, configure and build these'
201 @echo '*** libraries. Otherwise, you can safely ignore this warning.'
0715614b 202
0ad10c0f
CF
203dumper.exe: module_info.o parse_pe.o dumper.o $(ALL_DEP_LDLIBS)
204ifdef VERBOSE
ce475802 205 $(CXX) -o $@ ${wordlist 1,3,$^} -B$(cygwin_build)/ $(DUMPER_LDFLAGS)
0ad10c0f 206else
ce475802
CF
207 @echo $(CXX) -o $@ ${wordlist 1,3,$^} ${filter-out -B%, $(DUMPER_LDFLAGS)};\
208 $(CXX) -o $@ ${wordlist 1,3,$^} -B$(cygwin_build)/ $(DUMPER_LDFLAGS)
0ad10c0f
CF
209endif
210
2dba45f4
CV
211cygpath.exe: cygpath.o $(ALL_DEP_LDLIBS)
212ifdef VERBOSE
213 $(CXX) -o $@ ${firstword $^} -B$(cygwin_build)/ $(ALL_LDFLAGS) -lntdll
214else
56ec0f9c
CF
215 @echo $(CXX) -o $@ ${firstword $^} ${filter-out -B%, $(ALL_LDFLAGS) -lntdll};\
216 $(CXX) -o $@ ${firstword $^} -B$(cygwin_build)/ $(ALL_LDFLAGS) -lntdll
2dba45f4
CV
217endif
218
1fd5e000
CF
219%.exe: %.o $(ALL_DEP_LDLIBS)
220ifdef VERBOSE
f6f88b66 221 $(CXX) -o $@ ${firstword $^} -B$(cygwin_build)/ $(ALL_LDFLAGS)
1fd5e000 222else
f6f88b66 223 @echo $(CXX) -o $@ ${firstword $^} ... ${filter-out -B%, $(ALL_LDFLAGS)};\
ce475802 224 $(CXX) -o $@ ${firstword $^} -B$(cygwin_build)/ $(ALL_LDFLAGS)
1fd5e000 225endif
This page took 0.202115 seconds and 5 git commands to generate.