1 2CLEANUP_TYPE=C 3#CLEANUP_TYPE=CPP 4 5VPATH = ../..:../helper 6 7TARGET_LIB = libpthread-psp.a 8 9 10MUTEX_OBJS = \ 11 pthread_mutex_unlock.o \ 12 pthread_mutex_init.o \ 13 pthread_mutex_destroy.o \ 14 pthread_mutex_lock.o \ 15 pthread_mutex_timedlock.o \ 16 pthread_mutex_trylock.o 17 18MUTEXATTR_OBJS = \ 19 pthread_mutexattr_destroy.o \ 20 pthread_mutexattr_getkind_np.o \ 21 pthread_mutexattr_getpshared.o \ 22 pthread_mutexattr_gettype.o \ 23 pthread_mutexattr_init.o \ 24 pthread_mutexattr_setkind_np.o \ 25 pthread_mutexattr_setpshared.o \ 26 pthread_mutexattr_settype.o 27 28SUPPORT_OBJS = \ 29 pte_relmillisecs.o \ 30 pte_mutex_check_need_init.o \ 31 pte_threadDestroy.o \ 32 pte_new.o \ 33 pte_threadStart.o \ 34 global.o \ 35 pte_reuse.o \ 36 pthread_init.o \ 37 pthread_terminate.o 38 39THREAD_OBJS = \ 40 create.o \ 41 pthread_self.o \ 42 pthread_equal.o \ 43 pthread_join.o \ 44 pthread_detach.o \ 45 pte_detach.o \ 46 pte_callUserDestroyRoutines.o \ 47 pte_tkAssocDestroy.o \ 48 pthread_kill.o \ 49 pthread_attr_destroy.o \ 50 pthread_attr_getdetachstate.o \ 51 pthread_attr_getinheritsched.o \ 52 pthread_attr_getschedparam.o \ 53 pthread_attr_getschedpolicy.o \ 54 pthread_attr_getscope.o \ 55 pthread_attr_getstackaddr.o \ 56 pthread_attr_getstacksize.o \ 57 pthread_attr_init.o \ 58 pthread_attr_setdetachstate.o \ 59 pthread_attr_setinheritsched.o \ 60 pthread_attr_setschedparam.o \ 61 pthread_attr_setschedpolicy.o \ 62 pthread_attr_setscope.o \ 63 pthread_attr_setstackaddr.o \ 64 pthread_attr_setstacksize.o \ 65 pte_is_attr.o \ 66 pthread_exit.o \ 67 pthread_getschedparam.o \ 68 pthread_setschedparam.o \ 69 sched_get_priority_max.o \ 70 sched_get_priority_min.o 71 72 73TLS_OBJS = \ 74 pthread_key_create.o \ 75 pthread_key_delete.o \ 76 pthread_getspecific.o \ 77 pthread_setspecific.o \ 78 pte_tkAssocCreate.o 79 80MISC_OBJS = \ 81 sched_yield.o \ 82 pthread_delay_np.o \ 83 pthread_testcancel.o \ 84 pte_throw.o \ 85 cleanup.o \ 86 pthread_once.o \ 87 pthread_num_processors_np.o \ 88 pte_getprocessors.o \ 89 pte_spinlock_check_need_init.o \ 90 global.o \ 91 pthread_timechange_handler_np.o \ 92 pte_cond_check_need_init.o \ 93 pthread_getconcurrency.o \ 94 pthread_setconcurrency.o \ 95 pte_cancellable_wait.o 96 97SEM_OBJS = \ 98 sem_close.o \ 99 sem_destroy.o \ 100 sem_getvalue.o \ 101 sem_init.o \ 102 sem_open.o \ 103 sem_post.o \ 104 sem_post_multiple.o \ 105 sem_timedwait.o \ 106 sem_trywait.o \ 107 sem_unlink.o \ 108 sem_wait.o 109 110BARRIER_OBJS = \ 111 pthread_barrier_init.o \ 112 pthread_barrier_destroy.o \ 113 pthread_barrier_wait.o \ 114 pthread_barrierattr_init.o \ 115 pthread_barrierattr_destroy.o \ 116 pthread_barrierattr_getpshared.o \ 117 pthread_barrierattr_setpshared.o \ 118 119SPIN_OBJS = \ 120 pthread_spin_destroy.o \ 121 pthread_spin_init.o \ 122 pthread_spin_lock.o \ 123 pthread_spin_trylock.o \ 124 pthread_spin_unlock.o 125 126CONDVAR_OBJS = \ 127 pthread_cond_destroy.o \ 128 pthread_cond_init.o \ 129 pthread_cond_signal.o \ 130 pthread_cond_wait.o \ 131 pthread_condattr_destroy.o \ 132 pthread_condattr_getpshared.o \ 133 pthread_condattr_init.o \ 134 pthread_condattr_setpshared.o 135 136RWLOCK_OBJS = \ 137 pthread_rwlock_init.o \ 138 pthread_rwlock_destroy.o \ 139 pthread_rwlock_rdlock.o \ 140 pthread_rwlock_timedrdlock.o \ 141 pthread_rwlock_timedwrlock.o \ 142 pthread_rwlock_tryrdlock.o \ 143 pthread_rwlock_trywrlock.o \ 144 pthread_rwlock_unlock.o \ 145 pthread_rwlock_wrlock.o \ 146 pthread_rwlockattr_init.o \ 147 pthread_rwlockattr_destroy.o \ 148 pthread_rwlockattr_getpshared.o \ 149 pthread_rwlockattr_setpshared.o \ 150 pte_rwlock_check_need_init.o \ 151 pte_rwlock_cancelwrwait.o 152 153CANCEL_OBJS = \ 154 pthread_cancel.o \ 155 pthread_setcanceltype.o \ 156 pthread_setcancelstate.o 157 158OS_OBJS = \ 159 psp_osal.o \ 160 tls-helper.o 161 162OBJS = $(MUTEX_OBJS) $(MUTEXATTR_OBJS) $(THREAD_OBJS) $(SUPPORT_OBJS) $(TLS_OBJS) $(MISC_OBJS) $(SEM_OBJS) $(BARRIER_OBJS) $(SPIN_OBJS) $(CONDVAR_OBJS) $(RWLOCK_OBJS) $(CANCEL_OBJS) $(OS_OBJS) 163 164INCDIR = 165CFLAGS = $(GLOBAL_CFLAGS) -G0 -O2 -Wall -g -fno-strict-aliasing -I../.. -I../helper 166CXXFLAGS = $(CFLAGS) -fexceptions -fno-rtti -Werror -D__CLEANUP_CXX 167ASFLAGS = $(CFLAGS) 168 169LDFLAGS = 170LIBS = 171 172PSPSDK=$(shell psp-config --pspsdk-path) 173PSPDIR=$(shell psp-config --psp-prefix) 174include $(PSPSDK)/lib/build.mak 175 176 177ifeq ($(CLEANUP_TYPE),CPPXX) 178 179CC=psp-g++ 180 181pte_throw.o: pte_throw.c 182 $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(INCLUDES) $(TARGET_ARCH) \ 183 -c ../../pte_throw.c -o pte_throw.o 184 185pte_threadStart.o: pte_threadStart.c 186 $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(INCLUDES) $(TARGET_ARCH) \ 187 -c ../../pte_threadStart.c -o pte_threadStart.o 188 189endif 190 191install: $(TARGET_LIB) 192 @install -d $(DESTDIR)$(PSPDIR)/lib 193 @install -m644 $(TARGET_LIB) $(DESTDIR)$(PSPDIR)/lib 194 @install -d $(DESTDIR)$(PSPDIR)/include 195 @install -m644 *.h $(DESTDIR)$(PSPDIR)/include 196 @install -m644 ../../*.h $(DESTDIR)$(PSPDIR)/include 197 @echo "Done." 198 199