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>