CC=tcc
TLIB=tlib
INCLUDES=include
LIBS=lib
CFLAGS=-v -wpro -k -ml -I$(INCLUDES) -L$(LIBS)

onion.exe: boot.obj new_maq.obj salres.obj fluxes.obj sistema.obj bfs.obj nucli.obj $(LIBS)\solib.lib $(LIBS)\onionlib.lib $(LIBS)\savedos.lib
	$(CC) $(CFLAGS) -eonion.exe @files.txt onionlib.lib solib.lib savedos.lib

$(INCLUDES)\pcb.h: $(INCLUDES)\context.h
$(INCLUDES)\salres.h: $(INCLUDES)\pcb.h

$(LIBS)\onionlib.lib: onionlib.obj
	$(TLIB) $(LIBS)\onionlib.lib +- onionlib.obj

boot.obj: boot.c $(INCLUDES)\fluxes.h $(INCLUDES)\rut_nuc.h $(INCLUDES)\new_maq.h \
	  $(INCLUDES)\sistema.h $(INCLUDES)\nucli.h $(INCLUDES)\onionlib.h
	$(CC) $(CFLAGS) -c boot.c

fluxes.obj: fluxes.c $(INCLUDES)\onionlib.h 
	$(CC) $(CFLAGS) -c fluxes.c
	
onionlib.obj: onionlib.asm
	$(CC) $(CFLAGS) -c onionlib.asm
	
sistema.obj: sistema.c $(INCLUDES)\bfs.h $(INCLUDES)\salres.h $(INCLUDES)\pcb.h
	$(CC) $(CFLAGS) -c sistema.c

bfs.obj: bfs.c $(INCLUDES)\nucli.h
	$(CC) $(CFLAGS) -c bfs.c

nucli.obj: nucli.c $(INCLUDES)\rut_nuc.h $(INCLUDES)\rutines.h $(INCLUDES)\pcb.h \
       $(INCLUDES)\salres.h
	$(CC) $(CFLAGS) -c nucli.c

salres.obj: salres.asm
	$(CC) $(CFLAGS) -c salres.asm

new_maq.obj: new_maq.asm
	$(CC) $(CFLAGS) -c new_maq.asm

clean:
	del *.obj

wipe: clean
	del *.exe
