📄 makefile
字号:
#### 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 + -