all: libpthread.a ARCH=$(shell uname -m | sed 's/i[4-9]86/i386/') CFLAGS=-pipe CROSS= CC=gcc VPATH=../$(ARCH)/ PTHREAD_OBJS = \ __testandset.o \ \ pthread_internal.o \ pthread_key.o \ \ pthread_once.o pthread_spinlock.o \ \ pthread_create.o pthread_detach.o \ pthread_join.o pthread_self.o \ pthread_exit.o pthread_equal.o \ \ pthread_cleanup_push.o \ pthread_cleanup_pop.o \ \ pthread_attr_getdetachstate.o \ pthread_attr_getinheritsched.o \ pthread_attr_getschedparam.o \ pthread_attr_getschedpolicy.o \ pthread_attr_getscope.o \ pthread_attr_getstackaddr.o \ pthread_attr_getstacksize.o \ pthread_attr_init.o \ pthread_attr_setdetachstate.o \ pthread_attr_setinheritsched.o \ pthread_attr_setschedparam.o \ pthread_attr_setschedpolicy.o \ pthread_attr_setscope.o \ pthread_attr_setstackaddr.o \ pthread_attr_setstacksize.o \ \ pthread_cancel.o pthread_setcancelstate.o \ pthread_setcanceltype.o pthread_testcancel.o \ \ pthread_mutex_init.o \ pthread_mutex_destroy.o \ pthread_mutex_lock.o \ pthread_mutex_trylock.o \ pthread_mutex_unlock.o \ \ pthread_mutexattr_getkind_np.o \ pthread_mutexattr_init.o \ pthread_mutexattr_setkind_np.o \ \ pthread_condattr.o \ pthread_cond_broadcast.o \ pthread_cond_destroy.o \ pthread_cond_init.o \ pthread_cond_signal.o \ pthread_cond_timedwait.o \ pthread_cond_wait.o \ \ pthread_key_create.o \ pthread_key_delete.o \ pthread_getspecific.o \ pthread_setspecific.o \ \ pthread_atfork.o \ pthread_sys_alloc.o \ pthread_sys_close.o \ pthread_sys_create.o \ pthread_sys_fcntl.o \ pthread_sys_fsync.o \ pthread_sys_fdatasync.o \ pthread_sys_nanosleep.o \ pthread_sys_logging.o \ pthread_sys_open.o \ pthread_sys_pause.o \ pthread_sys_read.o \ pthread_sys_sigsuspend.o \ pthread_sys_tcdrain.o \ pthread_sys_waitpid.o \ pthread_sys_write.o %.o : %.c $(CC) $(CFLAGS) -c -o $@ $? include ../$(ARCH)/Makefile.add ifeq ($(CFLAGS),-pipe) CFLAGS+=-O -fomit-frame-pointer endif #CFLAGS = -g CFLAGS += -Wall CFLAGS += -I.. -I../include -Wall PWD=$(shell pwd) .SUFFIXES: .SUFFIXES: .S .c % :: %,v %.o: %.S $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< %.o: %.c $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< # $(CROSS)strip -x -R .comment -R .note $@ libpthread.a: $(PTHREAD_OBJS) ar cr $@ $^ libpthread.so: libpthread.a $(CROSS)ld -whole-archive -shared -o $@ $^ clean: $(RM) *.o *.a *.so *.out *~ exports: libpthread.a nm -g libpthread.a | grep -w T | awk '{ print $$3 }' | sort -u > exports .PHONY: test.out test.out: test.o libpthread.a $(LIBS) $(CROSS)$(CC) -g $(CFLAGS) -nostdlib ../bin-$(ARCH)/start.o -o $@ $^ ../bin-$(ARCH)/dietlibc.a -lgcc .PHONY: sparc ppc mips arm alpha i386 sparc ppc alpha i386: $(MAKE) ARCH=$@ CROSS=$@-linux- all t libdietc.so mips arm: $(MAKE) ARCH=$@ CROSS=$@-linux-gnu- all t libdietc.so