[444] | 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 | |
---|