Annotation of dietlibc/Makefile, revision 1.1

1.1     ! cvs         1: all: start.o dietlibc.a elftrunc
        !             2: 
        !             3: ARCH=$(shell uname -m | sed 's/i[4-9]86/i386/')
        !             4: 
        !             5: CFLAGS=-pipe
        !             6: CROSS=
        !             7: 
        !             8: VPATH=syscalls.c
        !             9: 
        !            10: SYSCALLOBJ=$(patsubst syscalls.s/%.S,%.o,$(wildcard syscalls.s/*.S))
        !            11: 
        !            12: LIBOBJ=$(patsubst lib/%.c,%.o,$(wildcard lib/*.c))
        !            13: 
        !            14: include $(ARCH)/Makefile.add
        !            15: 
        !            16: ifeq ($(CFLAGS),-pipe)
        !            17: CFLAGS+=-O -fomit-frame-pointer
        !            18: endif
        !            19: 
        !            20: #CFLAGS += -g
        !            21: CFLAGS += -Wall
        !            22: 
        !            23: .SUFFIXES:
        !            24: .SUFFIXES: .S .c
        !            25: 
        !            26: %.c : %,v
        !            27: 
        !            28: %.o: %.S
        !            29:        $(CROSS)gcc -I. -Iinclude $(CFLAGS) -c $<
        !            30: 
        !            31: %.o: %.c
        !            32:        $(CROSS)gcc -I. -Iinclude $(CFLAGS) -c $<
        !            33: #      $(CROSS)strip -x -R .comment -R .note $@
        !            34: 
        !            35: DIETLIBC_OBJ = $(SYSCALLOBJ) $(LIBOBJ) \
        !            36: __longjmp.o setjmp.o unified.o mmap.o clone.o
        !            37: 
        !            38: dietlibc.a: $(DIETLIBC_OBJ) start.o
        !            39:        $(CROSS)ar cru dietlibc.a $(DIETLIBC_OBJ)
        !            40: 
        !            41: libdietc.so: dietlibc.a
        !            42:        $(CROSS)ld -whole-archive -shared -o $@ $^
        !            43: 
        !            44: $(SYSCALLOBJ): syscalls.h
        !            45: 
        !            46: elftrunc: contrib/elftrunc.c start.o dietlibc.a
        !            47:        $(CROSS)gcc $(CFLAGS) -nostdlib -o $@ $^
        !            48: 
        !            49: djb: compile load
        !            50: 
        !            51: compile:
        !            52:        echo 'exec gcc $(CFLAGS) -I$(HOME)/projects/dietlibc/include -c $${1+"$$@"}' > $@
        !            53:        chmod 755 $@
        !            54: 
        !            55: load:
        !            56:        echo 'main="$$1"; shift; exec gcc -nostdlib -o "$$main" $(HOME)/projects/dietlibc/start.o "$$main".o $${1+"$$@"} $(HOME)/projects/dietlibc/dietlibc.a -lgcc'  > $@
        !            57:        chmod 755 $@
        !            58: 
        !            59: clean:
        !            60:        rm -f *.o *.a t t1 compile load elftrunc exports mapfile libdietc.so
        !            61:        $(MAKE) -C examples clean
        !            62: 
        !            63: tar: clean
        !            64:        cd .. && tar cvvf dietlibc.tar.bz2 dietlibc --use=bzip2
        !            65: 
        !            66: exports: dietlibc.a
        !            67:        nm -g dietlibc.a | grep -w T | awk '{ print $$3 }' | sort -u > exports
        !            68: 
        !            69: .PHONY: t t1
        !            70: t:
        !            71:        $(CROSS)gcc -g $(CFLAGS) -fno-builtin -nostdlib -Iinclude -o t t.c start.o dietlibc.a -lgcc -Wl,-Map,mapfile
        !            72: 
        !            73: t1:
        !            74:        $(CROSS)gcc -g -o t1 t.c
        !            75: 
        !            76: install:
        !            77:        cp start.o $(prefix)/lib/dietstart.o
        !            78:        cp dietlibc.a $(prefix)/lib/libdietc.a
        !            79: 
        !            80: .PHONY: sparc ppc mips arm alpha i386
        !            81: 
        !            82: sparc ppc alpha i386:
        !            83:        $(MAKE) ARCH=$@ CROSS=$@-linux- all t libdietc.so
        !            84: 
        !            85: mips arm:
        !            86:        $(MAKE) ARCH=$@ CROSS=$@-linux-gnu- all t libdietc.so
        !            87: 

LinuxTV legacy CVS <linuxtv.org/cvs>