makefile 어떻게 해야 잘 썼다는 말을..

barrios의 이미지

ASM_SRCS = k_init.asm int.asm 
C_SRCS = kernel.c io.c pic.c idt.c panic.c stdio.c cursor.c debug.c util.c keyboard.c hdd.c event.c

OBJS = $(ASM_SRCS:.asm=.o) $(C_SRCS:.c=.o)

.c.o:
	gcc -fno-builtins -c $<

.asm.o:
	nasm -f aout $<

all: start
	copy ed.img C:\bochs2p4\

start: kernel 
	copy /b boot+kernel.bin ed.img;
	

kernel: $(OBJS) 
	nasm -f bin boot.asm
	ld -T kernel.ld -o kernel.bin $(OBJS) 

이런 메이크 파일을 DGJPP에서 사용하고 있습니다. 문제는 도스 모드래서
256 바이트인가 하여간 128자 이상 사용하면 도스에서 에러가 납니다. 프롬프트에는 128자 이상 입력하여 실행하지 말라고 불평을 계속 합니다.

그런데 위의 코드에서 링크 하는 ld 사용하는 부분이 하다 보니 그 숫자를 넘게 되더라구요. 소스 파일이 앞으로도 계속 증가할 텐데..벌써 이러면 어떻게 해야 할지.. ld -T kernel.ld -o kernel.bin $(OBJS) 이 부분이요.. 쩝..

여러분들은 이럴 때 어떻게 해결 하시는지요..메이크 파일을 어떻게 써야 잘 썼다는 말을 들을수 있는지..^^;;

cinsk의 이미지