⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 linux 下的线程库源码
💻
字号:
#### Configuration section# Where to installINCLUDEDIR=/usr/includeLIBDIR=/usr/libSHAREDLIBDIR=/libMANDIR=/usr/man/man3# Compilation optionsCC=gccCFLAGS=-pipe -O2 -Wall#CFLAGS+=-g -DDEBUG # for debuggingPICCFLAGS=-fpicPICLDFLAGS=-shared -Wl,-soname,$(shell echo $@ | sed 's/\.[^.]$$//')# Define this as "yes" if you're using H.J.Lu's libc 5.2.18, 5.3.12, or 5.4.x# (standard on most Linux distributions for Intel processors).# Define this as "no" if you're using a different C library,# e.g. libc 6, also known as glibcLIBC_5_SUPPORT=yes#### End of configuration section# Determine architectureARCH:=$(shell uname -m | sed -e 's/i.86/i386/')ifeq ($(ARCH),i386)CFLAGS+=-m486endifCFLAGS+=-D__BUILDING_LINUXTHREADS -Isysdeps/$(ARCH)# Contents of the libraryOBJS=pthread.o manager.o attr.o join.o mutex.o condvar.o specific.o cancel.o \  signals.o lockfile.o errno.o fork.o sleep.o semaphore.oifneq ($(wildcard sysdeps/$(ARCH)/clone.[cS]),)OBJS+=clone.oendififneq ($(wildcard sysdeps/$(ARCH)/syscalls.[cS]),)OBJS+=syscalls.oendifvpath %.c sysdeps/$(ARCH)vpath %.S sysdeps/$(ARCH)# The reentrant libc code (taken from libc-5.3.9)ifeq ($(LIBC_5_SUPPORT),yes)vpath %.h libc_rvpath %.c libc_rCFLAGS+=-Ilibc_r -D_POSIX_THREADSOBJS+=stdio.o getnetby_r.o getprotoby_r.o getservby_r.o \       gethostby_r.o getpw_r.o malloc.o dirent.oendifLIB=libpthread.aSHOBJS=$(OBJS:%.o=%.pic)SHLIB=libpthread.so.0.7SHLIB0=libpthread.soall: $(LIB) $(SHLIB)	cd man; $(MAKE) all$(LIB): $(OBJS)	ar rc $(LIB) $(OBJS)$(SHLIB): $(SHOBJS)	$(CC) $(PICLDFLAGS) -o $@ $(SHOBJS)clean:	rm -f $(LIB) $(SHLIB) *.o *.pic *~ libc_r/*~ sysdeps/*/*~	cd man; $(MAKE) cleaninstall:	install pthread.h $(INCLUDEDIR)/pthread.h	install semaphore.h $(INCLUDEDIR)/semaphore.hifeq ($(LIBC_5_SUPPORT),yes)	test -f /usr/include/sched.h || install sched.h $(INCLUDEDIR)/sched.hendif	install $(LIB) $(LIBDIR)/$(LIB)	install $(SHLIB) $(SHAREDLIBDIR)/$(SHLIB)	rm -f $(LIBDIR)/$(SHLIB0)	ln -s $(SHAREDLIBDIR)/$(SHLIB) $(LIBDIR)/$(SHLIB0)	ldconfig -n $(SHAREDLIBDIR)	cd man; $(MAKE) MANDIR=$(MANDIR) install.SUFFIXES: .pic%.pic: %.c	$(CC) $(CFLAGS) $(PICCFLAGS) -c $< -o $@%.pic: %.S	$(CC) $(CFLAGS) $(PICCFLAGS) -c $< -o $@depend:	$(CC) $(CFLAGS) -MM *.c libc_r/*.c | \        sed -e 's/^\(.*\)\.o:/\1.o \1.pic:/' \            -e 's/sysdeps\/$(ARCH)/sysdeps\/$$(ARCH)/' > .dependinclude .depend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -