📄 makefile
字号:
# Copyright (C) 1999-2001 Konstantin Boldyshev <konst@linuxassembly.org>## Makefile for libc (GNU make is required)## $Id: Makefile,v 1.11 2001/12/10 17:11:07 konst Exp $# Target CPU (386,486,586,686)CPU = 386#DEBUG = yBUILD_LIB = yinclude MCONFIGBUILD_STATIC = yBUILD_SHARED = yLIBCRYPTO_OBJS = md5.o rc6.o rmd.oLIBCRYPTO_A = libcrypto.aLIBCRYPTO_SO = libcrypto.so.0STUB_OBJS = libc_stub.oLIBC_OBJS = libc.oLIBC_A = libc.aLIBC_SO = ./libc.so.0LIBM_OBJS = libm.oLIBM_A = libm.aLIBM_SO = ./libm.so.0CTESTS = test1 test2CLEAN_CFLAGS := -D__CPU__=$(CPU) -Wall -O1 -m386#CLEAN_CFLAGS := -Wall -O1 -Os -march=i386 #will produce the smallest code on gcc 2.95+ifdef DEBUGCLEAN_CFLAGS += -gelseCLEAN_CFLAGS += -fomit-frame-pointerendifCFLAGS := $(CLEAN_CFLAGS)%.o: %.c $(CC) $(CLEAN_CFLAGS) -c -o $@ $<# we are testing our own library, not glibc headers and gcc inlines# so, disable the damn thingCFLAGS += -D__NO_STRING_INLINES -fno-builtin# the same with all other glibc crapCFLAGS += -nostartfiles -nostdlib #-Wl,-e,main%: %.cifdef BUILD_SHARED $(CC) $(CFLAGS) -o $@-shared $< $(STUB_OBJS) $(LIBC_SO) $(CC) $(CFLAGS) -mregparm=3 -D__FASTCALL__\ -o $@-shared-fastcall $< $(STUB_OBJS) $(LIBC_SO)endififdef BUILD_STATIC $(CC) $(CFLAGS) -static -o $@-static $< $(STUB_OBJS) $(LIBC_A) $(CC) $(CFLAGS) -static -mregparm=3 -D__FASTCALL__\ -o $@-static-fastcall $< $(STUB_OBJS) $(LIBC_A)endifall: check libclibc: $(LIBC_OBJS) $(STUB_OBJS)ifdef BUILD_STATIC $(AR) rcv $(LIBC_A) $(LIBC_OBJS)endififdef BUILD_SHARED $(LD) $(LDFLAGS) -shared -soname $(LIBC_SO) \ -o $(LIBC_SO) $(LIBC_OBJS)endiflibm: $(LIBM_OBJS)ifdef BUILD_STATIC $(AR) rcv $(LIBM_A) $(LIBM_OBJS)endififdef BUILD_SHARED $(LD) $(LDFLAGS) -shared -soname $(LIBM_SO) \ -o $(LIBM_SO) $(LIBM_OBJS)endifcrypto: $(LIBCRYPTO_OBJS)ifdef BUILD_STATIC $(AR) rcv $(LIBCRYPTO_A) $(LIBCRYPTO_OBJS)endififdef BUILD_SHARED $(LD) $(LDFLAGS) -shared -soname $(LIBCRYPTO_SO) \ -o $(LIBCRYPTO_SO) $(LIBCRYPTO_OBJS)endif#CRYPTOFILES = ../src/md5sum.o#cryptofiles: $(CRYPTOFILES)# ld -s -o aaa $(CRYPTOFILES) libcrypto.aifdef AOUTtestc:testm:elsetestc: $(CTESTS)## Build it with usual libc for now#testm: testm.cifdef BUILD_SHARED $(CC) $(CLEAN_CFLAGS) -o $@-shared $< $(LIBM_SO)endififdef BUILD_STATIC $(CC) $(CLEAN_CFLAGS) -static -o $@-static $< $(LIBM_A)endifendifinstall:clean: rm -f *.o *.a *.so* $(TESTS) *-shared* *-static*check:ifneq ("$(ASVER)", "$(CORRECT_ASVER)") @echo @echo "$(AS) $(ASVER) may miscompile asmutils, please use only clean $(AS) $(CORRECT_ASVER)!" @echo @falseendif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -