Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. FASM=fasm -dUEFI=1 -dextended_primary_loader=1 -dUMKA=1
  2. CC=gcc
  3. WARNINGS=-Wall -Wextra -Wduplicated-cond -Wduplicated-branches -Wlogical-op \
  4.          -Wrestrict -Wnull-dereference -Wjump-misses-init -Wshadow -Wformat=2 \
  5.          -Wswitch -Wswitch-enum -Wpedantic \
  6.          #-Wconversion -Wsign-conversion
  7. NOWARNINGS=-Wno-address-of-packed-member
  8. CFLAGS=$(WARNINGS) $(NOWARNINGS) -std=c11 -g -O0 -D_FILE_OFFSET_BITS=64 \
  9.        -DNDEBUG -masm=intel -D_POSIX_C_SOURCE=200809L -Ilinux -fno-pie
  10. CFLAGS_32=$(CFLAGS) -m32
  11. LDFLAGS=-no-pie
  12. LDFLAGS_32=$(LDFLAGS) -m32
  13.  
  14. all: umka_shell umka_fuse umka_os umka.sym umka.prp \
  15.      umka.lst tags covpreproc default.skn skin.skn
  16.  
  17. covpreproc: covpreproc.c
  18.         $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
  19.  
  20. umka_shell: umka_shell.o umka.o shell.o trace.o trace_lbr.o vdisk.o vnet.o \
  21.             lodepng.o pci.o thread.o util.o
  22.         $(CC) $(LDFLAGS_32) $^ -o $@ -static -T umka.ld
  23.  
  24. umka_fuse: umka_fuse.o umka.o trace.o trace_lbr.o vdisk.o pci.o thread.o
  25.         $(CC) $(LDFLAGS_32) $^ -o $@ `pkg-config fuse3 --libs` -T umka.ld
  26.  
  27. umka_os: umka_os.o umka.o shell.o lodepng.o vdisk.o vnet.o trace.o trace_lbr.o \
  28.          pci.o thread.o umka_ping.o util.o
  29.         $(CC) $(LDFLAGS_32) $^ -o $@ -static -T umka.ld
  30.  
  31. umka.o umka.fas: umka.asm
  32.         INCLUDE="$(KOLIBRIOS)/kernel/trunk;$(KOLIBRIOS)/programs/develop/libraries/libcrash/hash" \
  33.             $(FASM) $< umka.o -s umka.fas -m 2000000
  34.  
  35. shell.o: shell.c
  36.         $(CC) $(CFLAGS_32) -c $<
  37.  
  38. thread.o: linux/thread.c
  39.         $(CC) $(CFLAGS_32) -c $<
  40.  
  41. pci.o: linux/pci.c
  42.         $(CC) $(CFLAGS_32) -c $<
  43.  
  44. lodepng.o: lodepng.c lodepng.h
  45.         $(CC) $(CFLAGS_32) -c $<
  46.  
  47. util.o: util.c util.h umka.h
  48.         $(CC) $(CFLAGS_32) -c $<
  49.  
  50. default.skn: $(KOLIBRIOS)/skins/Leency/Shkvorka/default.asm
  51.         $(FASM) $< $@
  52.  
  53. skin.skn: $(KOLIBRIOS)/skins/Leency/Octo_flat/default.asm
  54.         $(FASM) $< $@
  55.  
  56. umka.prp: umka.fas
  57.         prepsrc $< $@
  58.  
  59. umka.sym: umka.fas
  60.         symbols $< $@
  61.  
  62. umka.lst: umka.fas
  63.         listing $< $@
  64.  
  65. tags: umka.sym
  66.         fasmtags.py $<
  67.  
  68. trace.o: trace.c trace.h trace_lbr.h
  69.         $(CC) $(CFLAGS_32) -c $<
  70.  
  71. trace_lbr.o: trace_lbr.c trace_lbr.h umka.h
  72.         $(CC) $(CFLAGS_32) -c $<
  73.  
  74. vdisk.o: vdisk.c
  75.         $(CC) $(CFLAGS_32) -c $<
  76.  
  77. vnet.o: vnet.c
  78.         $(CC) $(CFLAGS_32) -c $<
  79.  
  80. umka_shell.o: umka_shell.c umka.h trace.h
  81.         $(CC) $(CFLAGS_32) -c $<
  82.  
  83. umka_fuse.o: umka_fuse.c umka.h
  84.         $(CC) $(CFLAGS_32) `pkg-config fuse3 --cflags` -c $<
  85.  
  86. umka_os.o: umka_os.c umka.h
  87.         $(CC) $(CFLAGS_32) -c $< -D_XOPEN_SOURCE=600
  88.  
  89. umka_ping.o: umka_ping.c umka.h
  90.         $(CC) $(CFLAGS_32) -D_DEFAULT_SOURCE -c $<
  91.  
  92. .PHONY: all clean
  93.  
  94. clean:
  95.         rm -f *.o umka_shell umka_fuse umka_os umka.fas \
  96.           umka.sym umka.lst umka.prp coverage
  97.