Mercurial > sos > sos
view Makefile @ 118:6186160278c9
I should probably exit the program when it finishes..
author | Jonathan Pevarnek <pevarnj@gmail.com> |
---|---|
date | Thu, 16 Jun 2011 12:51:43 -0400 |
parents | 32560561ccea |
children | 889c68a0036a |
line wrap: on
line source
CROSS_COMPILE=s390x-linux- AS=$(CROSS_COMPILE)as CC=$(CROSS_COMPILE)gcc CXX=$(CROSS_COMPILE)g++ LD=$(CROSS_COMPILE)ld AR=$(CROSS_COMPILE)ar OBJCOPY=$(CROSS_COMPILE)objcopy MAKEFLAGS += -rR --no-print-directory CFLAGS=-g -fno-strict-aliasing -fno-builtin -nostdinc -nostdlib -Wall -m64 -I include/ -O2 CXXFLAGS=$(CFLAGS) LDFLAGS=-m elf64_s390 OSBINS=shell PROGBINS=hello ls echo dynamic shell_OBJS=src/os/shell.o src/os/std.o src/os/fs.o src/os/string.o src/os/stdio.o src/os/scall.o src/os/heap.o src/os/memStack.o arch/arch.a hello_OBJS=src/prog/hello.o src/prog/std.o src/prog/string.o ls_OBJS=src/prog/ls.o echo_OBJS=src/prog/echo.o src/prog/std.o src/prog/string.o dynamic_OBJS=src/prog/dynamic.o src/prog/std.o src/prog/string.o src/prog/stack.o sarpn_OBJS=src/sarpn.o src/std.o src/string.o src/prog/stack.o src/operations.o src/math.o arch/arch.a testFS_OBJS=src/testFS.o src/std.o src/string.o src/os/fs.o arch/arch.a ARCH_OBJS=arch/io.o arch/cons.o arch/ebcdic.o arch/fba.o arch/ioint.o \ arch/svc.o arch/svcint.o .PHONY: all build clean tags all: $(OSBINS) $(PROGBINS) loader.bin utility/fsGen.py $(PROGBINS) > hercules/curDisk.img @echo "Loader is `stat -c %s loader.bin` bytes" clean: rm -f $(shell_OBJS) rm -f $(hello_OBJS) rm -f $(ls_OBJS) rm -f $(echo_OBJS) rm -f $(sarpn_OBJS) rm -f $(dynamic_OBJS) rm -f $(testFS_OBJS) rm -f $(ARCH_OBJS) rm -f $(OSBINS) rm -f $(PROGBINS) rm -f loader.bin ipl/*.o ipl/*.rto ipl/ipl_ccws.S cscope.out tags: cscope -R -b ctags -R shell: $(shell_OBJS) $(LD) $(LDFLAGS) -T scripts/linker.script -o $@ $^ hello: $(hello_OBJS) $(LD) $(LDFLAGS) -T scripts/linkerProg.script -o $@ $^ ls: $(ls_OBJS) $(LD) $(LDFLAGS) -T scripts/linkerProg.script -o $@ $^ echo: $(echo_OBJS) $(LD) $(LDFLAGS) -T scripts/linkerProg.script -o $@ $^ dynamic: $(dynamic_OBJS) $(LD) $(LDFLAGS) -T scripts/linkerProg.script -o $@ $^ sarpn: $(sarpn_OBJS) $(LD) $(LDFLAGS) -T scripts/linker.script -o $@ $^ testFS: $(testFS_OBJS) $(LD) $(LDFLAGS) -T scripts/linker.script -o $@ $^ arch/arch.a: $(ARCH_OBJS) $(AR) rc $@ $^ %.o: %.S $(CC) $(CFLAGS) -c -o $@ $< src/prog/%.o: src/prog/%.c $(CC) $(CFLAGS) -include include/system.h -c -o $@ $< src/os/%.o: src/os/%.c $(CC) $(CFLAGS) -include include/system.h -c -o $@ $< -DOSLEVEL %.o: %.c $(CC) $(CFLAGS) -include include/system.h -c -o $@ $< %.o: %.cpp $(CXX) $(CXXFLAGS) -include include/system.h -c -o $@ $< # # IPL specific bits # .PRECIOUS: ipl/loader.o ipl/loader_c.o ipl/loader_asm.o ipl/setmode.o \ ipl/ipl_ccws.o ipl/ipl.o loader.bin: ipl/ipl.rto ipl/ipl_ccws.rto ipl/setmode.rto ipl/loader.rto cat $^ > $@ ( len=`stat -c %s "$@"`; dif=`expr $$len % 80`; if [ $$dif -ne 0 ]; then dif=`expr 80 - $$dif`; dd if=/dev/zero bs=1 count=$$dif 2> /dev/null >> "$@"; fi) ipl/loader_asm.o: ipl/loader_asm.S $(AS) -m64 -o $@ $< ipl/loader_c.o: ipl/loader.c $(CC) $(CFLAGS) -DBLOCK_SIZE=80 -c -o $@ $< ipl/ipl_ccws.S: ipl/setmode.rto ipl/loader.rto bash scripts/gen_ccws.sh $@ ipl/loader.rto: ipl/loader.o $(OBJCOPY) -O binary -j .text -j .data -j .rodata $< $@ ipl/loader.o: ipl/loader_c.o ipl/loader_asm.o $(LD) -melf64_s390 -T ipl/linker.script -o $@ $^ ipl/%.rto: ipl/%.o $(OBJCOPY) -O binary -j .text $< $@ ipl/%.o: ipl/%.S $(AS) -m64 -o $@ $< depend: makedepend -I include src/*.c # DO NOT DELETE src/sarpn.o: include/std.h include/die.h include/memHead.h include/string.h src/sarpn.o: include/operations.h include/stack.h src/testFS.o: include/std.h include/die.h include/memHead.h include/os/fs.h src/testFS.o: include/error.h include/os/fsStructs.h