forked from KolibriOS/kolibrios
42f40b69fb
2) Kobra (0.1.1) uses libIPC, compilation changed, files with non-kobra functions moved to framework git-svn-id: svn://kolibrios.org@1286 a494cfbc-eb01-0410-851d-a64ba20cac60
58 lines
1.7 KiB
Makefile
58 lines
1.7 KiB
Makefile
ROOT=../../../develop/libraries/framework/trunk
|
|
|
|
include ../../../develop/libraries/framework/trunk/config.mk
|
|
|
|
# Note that kobra_st.o MUST be first and kobra.o last.
|
|
OBJECTS=kobra_st.o $(ROOT)/stdlib/heap.o $(ROOT)/stdlib/malloc.o $(ROOT)/stdlib/stdlib.o $(ROOT)/kolibri/kolibri.o $(ROOT)/libIPC/ipc.o kobra.o
|
|
|
|
# Set real path to kolibri.img if you want to use install option
|
|
KOLIBRI_IMG=../../../../../../0.7.x-night/kolibri.img
|
|
|
|
# Path to kobra.kex on floppy (directory should be created before installing)
|
|
DESTDIR=kobra/
|
|
|
|
# CC=gcc
|
|
# AS=gcc
|
|
# LD=ld
|
|
# OBJCOPY=objcopy
|
|
# READELF=readelf
|
|
# MCOPY=mcopy
|
|
# RM=rm -rf
|
|
|
|
# CFLAGS=-c -m32 -O2
|
|
# ASFLAGS=-c -m32
|
|
# LDFLAGS=-nostdlib -T kolibri.ld -melf_i386
|
|
OBJCOPYFLAGS=-O binary
|
|
READELFFLAGS=--syms
|
|
MCOPYFLAGS=-D o
|
|
|
|
# .c.o:
|
|
# $(CC) $(CFLAGS) $<
|
|
#
|
|
# .s.o:
|
|
# $(AS) $(ASFLAGS) $<
|
|
|
|
all: $(OBJECTS)
|
|
$(LD) $(LDFLAGS) -o kobra.elf $(OBJECTS)
|
|
$(OBJCOPY) $(OBJCOPYFLAGS) kobra.elf kobra.kex
|
|
|
|
debug: all
|
|
$(READELF) $(READELFFLAGS) kobra.elf | ./symbols2dbg.py >kobra.dbg
|
|
|
|
install: kobra.kex $(KOLIBRI_IMG)
|
|
@$(MCOPY) $(MCOPYFLAGS) -i $(KOLIBRI_IMG) kobra.kex ::/$(DESTDIR) && echo kobra.kex copied
|
|
@ls kobra.dbg >/dev/null && $(MCOPY) $(MCOPYFLAGS) -i $(KOLIBRI_IMG) kobra.dbg ::/$(DESTDIR) && echo kobra.dbg copied || echo no kobra.dbg
|
|
|
|
clean:
|
|
$(RM) *.o kobra.kex kobra.dbg
|
|
|
|
|
|
help:
|
|
@echo "Available options:"
|
|
@echo " all - make kobra.kex"
|
|
@echo " debug - same + kobra.dbg"
|
|
@echo " install - same + copying them to image"
|
|
@echo "You should gcc, ld & objcopy (or other C compiler and linker, but you may need correct Makefile to use them)."
|
|
@echo "If you want to use debug option you should have readelf. If you want to use install you should have shell"
|
|
@echo "(sh, bash, etc) & mtools."
|