SimpleOS

LXR

Navigation



Site hébergé par : enix

The LXR Cross Referencer for SOS

source navigation ]
diff markup ]
identifier search ]
general search ]
 
 
Article:1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 6.5 ] [ 7 ] [ 7.5 ] [ 8 ] [ 9 ] [ 9.5 ]

Diff markup

Differences between /extra/Makefile (Article 9) and /extra/Makefile (Article 9.5)


001 OBJCOPY=objcopy                                   001 OBJCOPY=objcopy
002 LIBGCC := $(shell $(CC) -print-libgcc-file-nam    002 LIBGCC := $(shell $(CC) -print-libgcc-file-name) # To benefit from FP/64bits artihm.
003 EXTRA := $(shell [ -f ../userland/userprogs.ki    003 EXTRA := $(shell [ -f ../userland/userprogs.kimg ] && echo ../userland/userprogs.kimg)
004                                                   004 
005 all: sos_qemu.img termslave                       005 all: sos_qemu.img termslave
006                                                   006 
007 -include ../.mkvars                               007 -include ../.mkvars
008                                                   008 
009 # The image is the simple concatenation of the    009 # The image is the simple concatenation of the boot sector and the kernel
010 # It may be use in bochs or on a real floppy,     010 # It may be use in bochs or on a real floppy, but NOT in qemu (see below)
011 sos_bsect.img: bsect.bin sos.bin                  011 sos_bsect.img: bsect.bin sos.bin
012         cat $^ > $@                               012         cat $^ > $@
013         @echo "You can use the $@ image i    013         @echo "You can use the $@ image in bochs or on a real floppy (NOT qemu)"
014                                                   014 
015 # For qemu, the trick is to tell it we have *m    015 # For qemu, the trick is to tell it we have *more* than 1440 sectors (720kB).
016 # Rtherwise the qemu disk geometry will be con    016 # Rtherwise the qemu disk geometry will be configured to be that of a 720kB
017 # floppy, while our boot sector assumes it to     017 # floppy, while our boot sector assumes it to be 1.44MB
018 sos_qemu.img: sos_bsect.img                       018 sos_qemu.img: sos_bsect.img
019         # Padding with 0s after the bsect/kern    019         # Padding with 0s after the bsect/kernel image
020         cat $< /dev/zero | dd of=$@ bs=1k coun    020         cat $< /dev/zero | dd of=$@ bs=1k count=1440
021         @echo "You can use the $@ image i    021         @echo "You can use the $@ image in qemu, bochs, or on a real floppy"
022                                                   022 
023 # we extract the boot sector from the main ELF    023 # we extract the boot sector from the main ELF binary
024 bsect.bin: sos_bsect.elf                          024 bsect.bin: sos_bsect.elf
025         $(OBJCOPY) -v -O binary -j .bootsect $    025         $(OBJCOPY) -v -O binary -j .bootsect $< $@
026                                                   026 
027 # we extract the kernel code from the main ELF    027 # we extract the kernel code from the main ELF binary
028 sos.bin: sos_bsect.elf                            028 sos.bin: sos_bsect.elf
029         $(OBJCOPY) -v -O binary -R .bootsect $    029         $(OBJCOPY) -v -O binary -R .bootsect $< $@
030                                                   030 
031 # The main ELF binary contains the boot sector    031 # The main ELF binary contains the boot sector and the kernel code
032 # linked together (hence we deal with a SINGLE    032 # linked together (hence we deal with a SINGLE image that we split
033 # above) because they share some symbol defini    033 # above) because they share some symbol definitions
034 sos_bsect.elf: bootsect.o compile_kernel          034 sos_bsect.elf: bootsect.o compile_kernel
035         $(LD) --warn-common -T ./sos_bsect.lds    035         $(LD) --warn-common -T ./sos_bsect.lds -o $@ \
036                 bootsect.o $(wildcard ../hwcor    036                 bootsect.o $(wildcard ../hwcore/*.o ../drivers/*.o ../sos/*.o)\
037                 $(EXTRA) $(LIBGCC)                037                 $(EXTRA) $(LIBGCC)
038                                                   038 
039 compile_kernel:                                   039 compile_kernel:
040         $(MAKE) -C ..                             040         $(MAKE) -C ..
041                                                   041 
042 termslave: termslave.c                            042 termslave: termslave.c
043         cc -Wall -o $@ $<                         043         cc -Wall -o $@ $<
044                                                   044 
045 clean:                                            045 clean:
046         $(RM) *.img *.elf *.bin *~ *.o *.out t    046         $(RM) *.img *.elf *.bin *~ *.o *.out termslave
                                                      

source navigation ] diff markup ] identifier search ] general search ]