1 | ## Process this file with automake to generate Makefile.in |
---|
2 | |
---|
3 | AUTOMAKE_OPTIONS = cygnus |
---|
4 | |
---|
5 | INCLUDES = -I$(srcdir)/../include -I$(srcdir)/machine/$(machine_dir) -I$(srcdir)/machine/generic $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) -I$(srcdir)/.. |
---|
6 | |
---|
7 | LIBTOOL_VERSION_INFO = 0:0:0 |
---|
8 | |
---|
9 | LIB_SOURCES= \ |
---|
10 | attr.c barrier.c condvar.c \ |
---|
11 | events.c getcpuclockid.c getreent.c join.c lockfile.c manager.c \ |
---|
12 | mq_notify.c oldsemaphore.c prio.c ptclock_gettime.c ptclock_settime.c \ |
---|
13 | ptlongjmp.c pt-machine.c reent.c rwlock.c semaphore.c \ |
---|
14 | signals.c spinlock.c sysctl.c \ |
---|
15 | timer_create.c timer_getoverr.c timer_routines.c \ |
---|
16 | timer_delete.c timer_gettime.c timer_settime.c \ |
---|
17 | wrapsyscall.c |
---|
18 | |
---|
19 | LIB_DB_SOURCES = td_init.c td_log.c td_ta_delete.c td_ta_get_nthreads.c \ |
---|
20 | td_ta_get_ph.c td_ta_map_id2thr.c td_ta_map_lwp2thr.c \ |
---|
21 | td_ta_new.c td_ta_thr_iter.c td_ta_tsd_iter.c \ |
---|
22 | td_thr_get_info.c td_thr_getfpregs.c td_thr_getgregs.c \ |
---|
23 | td_thr_getxregs.c td_thr_getxregsize.c td_thr_setfpregs.c \ |
---|
24 | td_thr_setgregs.c td_thr_setprio.c td_thr_setsigpending.c \ |
---|
25 | td_thr_setxregs.c td_thr_sigsetmask.c td_thr_tsd.c \ |
---|
26 | td_thr_validate.c td_thr_dbsuspend.c td_thr_dbresume.c \ |
---|
27 | td_ta_setconcurrency.c td_ta_enable_stats.c \ |
---|
28 | td_ta_reset_stats.c td_ta_get_stats.c td_ta_event_addr.c \ |
---|
29 | td_thr_event_enable.c td_thr_set_event.c \ |
---|
30 | td_thr_clear_event.c td_thr_event_getmsg.c \ |
---|
31 | td_ta_set_event.c td_ta_event_getmsg.c \ |
---|
32 | td_ta_clear_event.c td_symbol_list.c |
---|
33 | |
---|
34 | # Because of how libtool moves objects around, these files must be built last. |
---|
35 | LIBADD_OBJS = \ |
---|
36 | $(lpfx)mutex.$(oext) $(lpfx)specific.$(oext) \ |
---|
37 | $(lpfx)pthread.$(oext) $(lpfx)cancel.$(oext) |
---|
38 | |
---|
39 | ELIX_3_SOURCES = \ |
---|
40 | ptfork.c |
---|
41 | |
---|
42 | if ELIX_LEVEL_1 |
---|
43 | ELIX_SOURCES = reqsyscalls.c |
---|
44 | else |
---|
45 | if ELIX_LEVEL_2 |
---|
46 | ELIX_SOURCES = reqsyscalls.c |
---|
47 | else |
---|
48 | ELIX_SOURCES = $(ELIX_3_SOURCES) |
---|
49 | endif |
---|
50 | endif |
---|
51 | |
---|
52 | SUBDIRS = machine . |
---|
53 | |
---|
54 | tooldir = $(tooldir) |
---|
55 | toollibdir = $(top_toollibdir) |
---|
56 | |
---|
57 | libpthread_la_LDFLAGS = -version-info $(LIBTOOL_VERSION_INFO) -release newlib -no-undefined -lgcc -Xcompiler -nostdlib -Xlinker --version-script=$(srcdir)/../shared.ld `cat extra-libtool-objlist` |
---|
58 | libthread_db_la_LDFLAGS = -version-info $(LIBTOOL_VERSION_INFO) -release newlib -no-undefined -lgcc -Xcompiler -nostdlib -Xlinker --version-script=$(srcdir)/../shared.ld |
---|
59 | |
---|
60 | if USE_LIBTOOL |
---|
61 | |
---|
62 | # objects listed later in LIBPTHREAD_OBJLISTS will override those listed earlier |
---|
63 | extra-libtool-objlist: $(MACHINE_OBJLIST) |
---|
64 | cat $(MACHINE_OBJLIST) | $(AWK) '{ libpthread[$$1] = $$2 }; END { for (x in libpthread) printf ("%s\n", libpthread[x]) }' > $@ |
---|
65 | |
---|
66 | toollib_LTLIBRARIES = libpthread.la libthread_db.la |
---|
67 | libpthread_la_SOURCES = $(LIB_SOURCES) $(ELIX_SOURCES) |
---|
68 | libpthread_la_LIBADD = $(LIBADD_OBJS) |
---|
69 | ## libpthread_la_DEPENDENCIES = defs.h crti.S |
---|
70 | libpthread_la_DEPENDENCIES = $(LIBADD_OBJS) extra-libtool-objlist |
---|
71 | noinst_DATA=objectlist.awk.in |
---|
72 | LIB_COMPILE = $(LTCOMPILE) |
---|
73 | |
---|
74 | libthread_db_la_SOURCES = $(LIB_DB_SOURCES) |
---|
75 | |
---|
76 | else |
---|
77 | |
---|
78 | toollib_LIBRARIES = libpthread.a libthread_db.a |
---|
79 | libpthread_a_SOURCES = $(LIB_SOURCES) $(ELIX_SOURCES) |
---|
80 | libpthread_a_LIBADD = $(LIBADD_OBJS) $(MACHINE_LIB) |
---|
81 | libpthread_a_CFLAGS = $(AM_CFLAGS) |
---|
82 | ## libpthread_a_DEPENDENCIES = defs.h crti.S |
---|
83 | libpthread_a_DEPENDENCIES = $(LIBADD_OBJS) $(MACHINE_LIB) |
---|
84 | LIB_COMPILE = $(COMPILE) |
---|
85 | |
---|
86 | libthread_db_a_SOURCES = $(LIB_DB_SOURCES) |
---|
87 | libthread_db_a_CFLAGS = $(AM_CFLAGS) |
---|
88 | |
---|
89 | endif # USE_LIBTOOL |
---|
90 | |
---|
91 | include $(srcdir)/../../../../Makefile.shared |
---|
92 | |
---|
93 | doc: |
---|
94 | |
---|
95 | install-data-local: install-toollibLIBRARIES |
---|
96 | -rm -f $(DESTDIR)$(toollibdir)/libthread_db.so.1 |
---|
97 | ln -s `readlink $(DESTDIR)$(toollibdir)/libthread_db.so` \ |
---|
98 | $(DESTDIR)$(toollibdir)/libthread_db.so.1 \ |
---|
99 | || cp $(DESTDIR)$(toollibdir)/libthread_db.so \ |
---|
100 | $(DESTDIR)$(toollibdir)/libthread_db.so.1 |
---|
101 | |
---|
102 | AM_CFLAGS = -D_XOPEN_SOURCE=600 -D_GNU_SOURCE=1 |
---|
103 | ACLOCAL_AMFLAGS = -I ../../../.. -I ../../../../.. |
---|
104 | CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host |
---|
105 | |
---|
106 | ## PTHREAD_HEADERS=pthread.h semaphore.h |
---|
107 | |
---|
108 | CFLAGS_pt_initfini = -g0 -fPIC -fno-inline-functions |
---|
109 | CFLAGS_noweak=-D__NO_WEAK_PTHREAD_ALIASES |
---|
110 | CFLAGS_cancel=-D__NO_WEAK_PTHREAD_ALIASES -D_RPC_THREAD_SAFE_ |
---|
111 | CFLAGS_pthread=-D__NO_WEAK_PTHREAD_ALIASES -DHAVE_Z_NODELETE |
---|
112 | |
---|
113 | pt-initfini.s: $(srcdir)/pt-initfini.c |
---|
114 | $(CC) -S $(CFLAGS_pt_initfini) -finhibit-size-directive \ |
---|
115 | $(patsubst -f%,-fno-%,$(exceptions)) -o $@ |
---|
116 | |
---|
117 | # We only have one kind of startup code files. Static binaries and |
---|
118 | # shared libraries are build using the PIC version. |
---|
119 | crti.S: pt-initfini.s |
---|
120 | sed -n -e '1,/@HEADER_ENDS/p' \ |
---|
121 | -e '/@_.*_PROLOG_BEGINS/,/@_.*_PROLOG_ENDS/p' \ |
---|
122 | -e '/@TRAILER_BEGINS/,$$p' $< > $@ |
---|
123 | |
---|
124 | defs.h: pt-initfini.s |
---|
125 | sed -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \ |
---|
126 | $(AWK) -f defs.awk > $@ |
---|
127 | |
---|
128 | crti.o: crti.S defs.h |
---|
129 | $(CC) -g0 $(ASFLAGS) -o $@ |
---|
130 | |
---|
131 | $(lpfx)mutex.$(oext): $(srcdir)/mutex.c |
---|
132 | $(LIB_COMPILE) $(CFLAGS_noweak) -c $< -o $@ |
---|
133 | |
---|
134 | $(lpfx)specific.$(oext): $(srcdir)/specific.c |
---|
135 | $(LIB_COMPILE) $(CFLAGS_noweak) -c $< -o $@ |
---|
136 | |
---|
137 | $(lpfx)pthread.$(oext): $(srcdir)/pthread.c |
---|
138 | $(LIB_COMPILE) $(CFLAGS_pthread) -c $< -o $@ |
---|
139 | |
---|
140 | $(lpfx)ptfork.$(oext): $(srcdir)/ptfork.c |
---|
141 | $(LIB_COMPILE) $(CFLAGS_noweak) -c $< -o $@ |
---|
142 | |
---|
143 | $(lpfx)cancel.$(oext): $(srcdir)/cancel.c |
---|
144 | $(LIB_COMPILE) $(CFLAGS_cancel) -c $< -o $@ |
---|
145 | |
---|