]> sourceware.org Git - newlib-cygwin.git/blame - winsup/utils/Makefile.in
* dcrt0.cc (dll_crt0_1): Initialize thread and debug stuff before handling
[newlib-cygwin.git] / winsup / utils / Makefile.in
CommitLineData
1fd5e000 1# Makefile for Cygwin utilities
6c8ef048 2# Copyright 1996, 1997, 1998, 1999, 2000 Cygnus Solutions.
1fd5e000
CF
3
4# This file is part of Cygwin.
5
6# This software is a copyrighted work licensed under the terms of the
7# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
8# details.
9
10SHELL:=@SHELL@
11
12srcdir:=@srcdir@
13VPATH:=@srcdir@
14prefix:=@prefix@
15exec_prefix:=@exec_prefix@
16
17bindir:=@bindir@
18etcdir:=$(exec_prefix)/etc
19program_transform_name:=@program_transform_name@
20
21INSTALL:=@INSTALL@
22INSTALL_PROGRAM:=@INSTALL_PROGRAM@
23INSTALL_DATA:=@INSTALL_DATA@
24
25EXEEXT:=@EXEEXT@
26EXEEXT_FOR_BUILD:=@EXEEXT_FOR_BUILD@
27
28CC:=@CC@
29CC_FOR_TARGET:=$(CC)
30
31CFLAGS:=@CFLAGS@
72ac8b4f 32CXXFLAGS:=@CXXFLAGS@ -fno-exceptions -nostdinc++ -fno-rtti
1fd5e000
CF
33
34include $(srcdir)/../Makefile.common
35
c6c9f06b 36MINGW_INCLUDES:=-I$(mingw_source)/include -I$(cygwin_source)/include -I$(w32api_include)
1fd5e000 37
0715614b
CF
38libbfd:=$(bupdir2)/bfd/libbfd.a
39libintl:=$(bupdir2)/intl/libintl.a
40build_dumper:=${shell test -r $(libbfd) -a -r $(libintl) -a -d $(updir1)/include && echo 1}
41
0ad10c0f
CF
42DUMPER_INCLUDES:=-I$(bupdir2)/bfd -I$(updir1)/include
43
72ac8b4f
CF
44MINGW_CXXFLAGS:=$(CXXFLAGS) -mno-cygwin $(MINGW_INCLUDES)
45MINGW_CFLAGS:=$(CFLAGS) -mno-cygwin $(MINGW_INCLUDES)
1fd5e000 46
0ad10c0f
CF
47DUMPER_CFLAGS:=$(CFLAGS) $(INCLUDES) $(DUMPER_INCLUDES)
48
1fd5e000
CF
49libcygwin:=$(cygwin_build)/libcygwin.a
50libuser32:=$(w32api_lib)/libuser32.a
51libkernel32:=$(w32api_lib)/libkernel32.a
52ALL_DEP_LDLIBS:=$(libcygwin) $(w32api_lib)/libnetapi32.a \
53 $(w32api_lib)/libadvapi32.a $(w32api_lib)/libkernel32.a \
54 $(w32api_lib)/libuser32.a
55
56ALL_LDLIBS:=${patsubst $(w32api_lib)/lib%.a,-l%,\
57 ${filter-out $(libuser32),\
58 ${filter-out $(libkernel32),\
59 ${filter-out $(libcygwin), $(ALL_DEP_LDLIBS)}}}}
60
61MINGW_LIB:=$(mingw_build)/libmingw32.a
0715614b 62DUMPER_LIB:=-L$(bupdir2)/bfd -lbfd -L$(bupdir1)/libiberty -liberty -L$(bupdir2)/intl -lintl
1fd5e000 63MINGW_LDLIBS:=$(ALL_LDLIBS) $(MINGW_LIB)
72ac8b4f 64MINGW_DEP_LDLIBS:=${ALL_DEP_LDLIBS} ${MINGW_LIB}
1fd5e000
CF
65ALL_LDFLAGS:=-B$(newlib_build)/libc/ -B$(newlib_build)/libm/ -B$(w32api_lib)/ \
66 $(LDFLAGS) $(ALL_LDLIBS)
67MINGW_LDFLAGS:=$(ALL_LDFLAGS) $(MINGW_LIB)
0ad10c0f 68DUMPER_LDFLAGS:=$(ALL_LDFLAGS) $(DUMPER_LIB)
1fd5e000
CF
69
70PROGS:=mount$(EXEEXT) umount$(EXEEXT) ps$(EXEEXT) kill$(EXEEXT) \
71 mkpasswd$(EXEEXT) mkgroup$(EXEEXT) cygpath$(EXEEXT) cygcheck$(EXEEXT) \
72 passwd$(EXEEXT) getfacl$(EXEEXT) setfacl$(EXEEXT) strace$(EXEEXT) \
0715614b
CF
73 regtool$(EXEEXT)
74
1b38471e 75CLEAN_PROGS:=$(PROGS)
0715614b
CF
76ifdef build_dumper
77PROGS+=dumper$(EXEEXT)
78else
79PROGS:=warn_dumper $(PROGS)
1b38471e 80CLEAN_PROGS+=dumper.exe
0715614b 81endif
1fd5e000 82
1fd5e000
CF
83.SUFFIXES:
84.NOEXPORT:
85
0715614b 86.PHONY: all install clean realclean warn_dumper
1fd5e000
CF
87
88all: Makefile $(PROGS)
89
72ac8b4f 90strace.exe: strace.cc mingw_getopt.o $(MINGW_DEP_LDLIBS)
1fd5e000 91ifdef VERBOSE
1b534ee1 92 $(CC) $(MINGW_CXXFLAGS) -o $@ ${wordlist 1,2,$^} -B$(mingw_build)/ $(MINGW_LDFLAGS)
1fd5e000 93else
c6c9f06b 94 @echo $(CC) -o $@ ${wordlist 1,2,$^} ${filter-out -B%, $(MINGW_CXXFLAGS) $(MINGW_LDFLAGS)};\
1b534ee1 95 $(CC) $(MINGW_CXXFLAGS) -o $@ ${wordlist 1,2,$^} -B$(mingw_build)/ $(MINGW_LDFLAGS)
1fd5e000
CF
96endif
97
0ad10c0f 98dumper.o: dumper.cc dumper.h
0715614b 99 $(CC) -c -o $@ $(DUMPER_CFLAGS) ${firstword $^}
0ad10c0f
CF
100
101module_info.o: module_info.cc
0715614b 102 $(CC) -c -o $@ $(DUMPER_CFLAGS) $^
0ad10c0f
CF
103
104parse_pe.o: parse_pe.cc dumper.h
0715614b 105 $(CC) -c -o $@ $(DUMPER_CFLAGS) ${firstword $^}
0ad10c0f 106
8c6b7d8a 107mingw_getopt.o: $(cygwin_source)/lib/getopt.c
1fd5e000
CF
108 $(CC) -c -o $@ $(MINGW_CFLAGS) $^
109
110clean:
1b38471e 111 rm -f *.o $(CLEAN_PROGS)
1fd5e000
CF
112
113realclean: clean
114 rm -f Makefile config.cache
115
116install: all
117 $(SHELL) $(updir1)/mkinstalldirs $(bindir) $(etcdir)
118 for i in $(PROGS) ; do \
119 n=`echo $$i | sed '$(program_transform_name)'`; \
120 $(INSTALL_PROGRAM) $$i $(bindir)/$$n; \
121 done
122
123$(cygwin_build)/libcygwin.a: $(cygwin_build)/Makefile
124 @$(MAKE) -C $(@D) $(@F)
125
126$(mingw_build)/libmingw32.a: $(mingw_build)/Makefile
127 @$(MAKE) -C $(@D) $(@F)
128
0715614b
CF
129warn_dumper:
130 @echo '*** Not building dumper.exe since some required libraries or headers'
131 @echo '*** are missing (libbfd.a, libintl.a, and include/).'
132 @echo '*** Check out and build these libraries from sources.redhat.com if you'
133 @echo '*** need dumper.exe. Otherwise, you can safely ignore this warning.'
134
0ad10c0f
CF
135dumper.exe: module_info.o parse_pe.o dumper.o $(ALL_DEP_LDLIBS)
136ifdef VERBOSE
0715614b 137 $(CC) -o $@ ${wordlist 1,3,$^} -B$(cygwin_build)/ $(DUMPER_LDFLAGS)
0ad10c0f 138else
0715614b 139 @echo $(CC) -o $@ ${wordlist 1,3,$^} ${filter-out -B%, $(DUMPER_LDFLAGS)};\
0ad10c0f
CF
140 $(CC) -o $@ ${wordlist 1,3,$^} -B$(cygwin_build)/ $(DUMPER_LDFLAGS)
141endif
142
1fd5e000
CF
143%.exe: %.o $(ALL_DEP_LDLIBS)
144ifdef VERBOSE
145 $(CC) -o $@ ${firstword $^} -B$(cygwin_build)/ $(ALL_LDFLAGS)
146else
147 @echo $(CC) -o $@ ${firstword $^} ${filter-out -B%, $(ALL_LDFLAGS)};\
148 $(CC) -o $@ ${firstword $^} -B$(cygwin_build)/ $(ALL_LDFLAGS)
149endif
This page took 0.050105 seconds and 5 git commands to generate.