本丸へ - Mona OS で ゴー?
次は go_0020s/gcc 以下でビルド。
id:h0shu さんの rules.mak を参考に、Linux とも親和性が高いように書くよ。
- gcc/makefile 中で Makefile -> makefile 。
- include/math.h で GO_lib.h -> go_lib.h
- libiberty/makefile
- intl-compat.c, bindtextdom.c などで gettextP.h ->gettextp.h
In file included from cpp0main.c:8: cc1drv.c:3: error: redefinition of typedef 'UCHAR' ../include/go_lib.h:10: error: previous declaration of 'UCHAR' was here
とりあえずコメントアウト。
さてそろそろ ../include/*.h と monalibc/*.h のどちらを優先 include したら良いのか分からなくなって来た。
id:h0shu さんは、 ../include を優先しているみたい。
現時点での rules.target.mak は以下の通り。
これが正解かどうかは。また明日。
ifndef $(MONADIR) export MONADIR=$(shell cd $(PWD)/../../../../../mona; pwd) endif ADDLINK = -lmonalibc-imp SHAREDIR = $(MONADIR)/share include $(SHAREDIR)/configs/monapi.inc GCC = $(CC) MAKE = make LIBRARIAN = wine ../toolstdc/golib00.exe DEL = rm -f MAKER = $(MAKE) -r MAKEC = $(MAKE) -C COMPILE = $(GCC) -c $(CFLAGS) LINK = $(LD) --Map $@.map $(LFLAGS) $(LIBDIR)/monapi_crt.o -L$(LIBDIR) -lmonapi-imp -lmonalibc-imp --enable-auto-import LINK_ADDLIB = GODRV = ../drv_stdc/drv_stdc.obj GODRVDIR = ../drv_stdc LINKOPT_CPP0 = LINKOPT_CC1 = LINKOPT_CC1P = %.o : %.c makefile ../include/rules.mak $(COMPILE) -I../include -idirafter $(INCDIR) -idirafter $(INCDIR)/monalibc -DIN_GCC -DHAVE_CONFIG_H -o $*.o $*.c %.obj : %.c makefile ../include/rules.mak $(COMPILE) -I ../include -o $*.obj $*.c #-I$(INCLUDE)