xref: /relibc/pthreads-emb/platform/psp/Makefile (revision d6ae972306cba87d11e1cc4b258ea52c151802c7)
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