Created
December 30, 2024 12:13
-
-
Save ao-kenji/ad2fede01e446074410a35d67aa84845 to your computer and use it in GitHub Desktop.
Patch for building Fuzix Compiler Kit on OpenBSD
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/CPP/main.c b/CPP/main.c | |
index 31b6235..75f76bf 100644 | |
--- a/CPP/main.c | |
+++ b/CPP/main.c | |
@@ -22,7 +22,7 @@ char *token_txn(int); | |
void pr_indent(int); | |
void hash_line(void); | |
-#if defined(__linux__) | |
+#if defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) | |
char *_ltoa(long v) | |
{ | |
static char buf[32]; | |
diff --git a/Makefile b/Makefile | |
index a71852a..a42a8f7 100644 | |
--- a/Makefile | |
+++ b/Makefile | |
@@ -77,184 +77,184 @@ $(OBJS3): $(INC1) $(INC2) | |
backend-super8.o: backend-super8.c backend-z8.c | |
CPP: | |
- (cd CPP; make) | |
+ (cd CPP; $(MAKE)) | |
cc: cc.o | |
- gcc -g3 $< -o cc | |
+ $(CC) -g3 $< -o cc | |
cc0: $(OBJS0) | |
- gcc -g3 $(OBJS0) -o cc0 | |
+ $(CC) -g3 $(OBJS0) -o cc0 | |
cc1.8080:$(OBJS1) target-8080.o | |
- gcc -g3 $(OBJS1) target-8080.o -o cc1.8080 | |
+ $(CC) -g3 $(OBJS1) target-8080.o -o cc1.8080 | |
cc1.8086:$(OBJS1) target-8086.o | |
- gcc -g3 $(OBJS1) target-8086.o -o cc1.8086 | |
+ $(CC) -g3 $(OBJS1) target-8086.o -o cc1.8086 | |
cc1.z80:$(OBJS1) target-z80.o | |
- gcc -g3 $(OBJS1) target-z80.o -o cc1.z80 | |
+ $(CC) -g3 $(OBJS1) target-z80.o -o cc1.z80 | |
cc1.thread:$(OBJS1) target-threadcode.o | |
- gcc -g3 $(OBJS1) target-threadcode.o -o cc1.thread | |
+ $(CC) -g3 $(OBJS1) target-threadcode.o -o cc1.thread | |
cc1.byte:$(OBJS1) target-bytecode.o | |
- gcc -g3 $(OBJS1) target-bytecode.o -o cc1.byte | |
+ $(CC) -g3 $(OBJS1) target-bytecode.o -o cc1.byte | |
cc1.6502:$(OBJS1) target-6502.o | |
- gcc -g3 $(OBJS1) target-6502.o -o cc1.6502 | |
+ $(CC) -g3 $(OBJS1) target-6502.o -o cc1.6502 | |
cc1.65c816:$(OBJS1) target-65c816.o | |
- gcc -g3 $(OBJS1) target-65c816.o -o cc1.65c816 | |
+ $(CC) -g3 $(OBJS1) target-65c816.o -o cc1.65c816 | |
cc1.z8:$(OBJS1) target-z8.o | |
- gcc -g3 $(OBJS1) target-z8.o -o cc1.z8 | |
+ $(CC) -g3 $(OBJS1) target-z8.o -o cc1.z8 | |
cc1.super8:$(OBJS1) target-super8.o | |
- gcc -g3 $(OBJS1) target-super8.o -o cc1.super8 | |
+ $(CC) -g3 $(OBJS1) target-super8.o -o cc1.super8 | |
cc1.1802:$(OBJS1) target-1802.o | |
- gcc -g3 $(OBJS1) target-1802.o -o cc1.1802 | |
+ $(CC) -g3 $(OBJS1) target-1802.o -o cc1.1802 | |
cc1.6800:$(OBJS1) target-6800.o | |
- gcc -g3 $(OBJS1) target-6800.o -o cc1.6800 | |
+ $(CC) -g3 $(OBJS1) target-6800.o -o cc1.6800 | |
cc1.6809:$(OBJS1) target-6800.o | |
- gcc -g3 $(OBJS1) target-6800.o -o cc1.6809 | |
+ $(CC) -g3 $(OBJS1) target-6800.o -o cc1.6809 | |
cc1.8070:$(OBJS1) target-8070.o | |
- gcc -g3 $(OBJS1) target-8070.o -o cc1.8070 | |
+ $(CC) -g3 $(OBJS1) target-8070.o -o cc1.8070 | |
cc1.ee200:$(OBJS1) target-ee200.o | |
- gcc -g3 $(OBJS1) target-ee200.o -o cc1.ee200 | |
+ $(CC) -g3 $(OBJS1) target-ee200.o -o cc1.ee200 | |
cc1.nova:$(OBJS1) target-nova.o | |
- gcc -g3 $(OBJS1) target-nova.o -o cc1.nova | |
+ $(CC) -g3 $(OBJS1) target-nova.o -o cc1.nova | |
cc1.ddp:$(OBJS1) target-ddp.o | |
- gcc -g3 $(OBJS1) target-ddp.o -o cc1.ddp | |
+ $(CC) -g3 $(OBJS1) target-ddp.o -o cc1.ddp | |
cc1.7000:$(OBJS1) target-tms7000.o | |
- gcc -g3 $(OBJS1) target-tms7000.o -o cc1.7000 | |
+ $(CC) -g3 $(OBJS1) target-tms7000.o -o cc1.7000 | |
cc1.hc08:$(OBJS1) target-hc08.o | |
- gcc -g3 $(OBJS1) target-hc08.o -o cc1.hc08 | |
+ $(CC) -g3 $(OBJS1) target-hc08.o -o cc1.hc08 | |
cc1.gb:$(OBJS1) target-gb.o | |
- gcc -g3 $(OBJS1) target-gb.o -o cc1.gb | |
+ $(CC) -g3 $(OBJS1) target-gb.o -o cc1.gb | |
cc2: $(OBJS2) | |
- gcc -g3 $(OBJS2) -o cc2 | |
+ $(CC) -g3 $(OBJS2) -o cc2 | |
cc2.8080: $(OBJS3) | |
- gcc -g3 $(OBJS3) -o cc2.8080 | |
+ $(CC) -g3 $(OBJS3) -o cc2.8080 | |
cc2.8086: $(OBJS4) | |
- gcc -g3 $(OBJS4) -o cc2.8086 | |
+ $(CC) -g3 $(OBJS4) -o cc2.8086 | |
cc2.z80: $(OBJS5) | |
- gcc -g3 $(OBJS5) -o cc2.z80 | |
+ $(CC) -g3 $(OBJS5) -o cc2.z80 | |
cc2.thread: $(OBJS9) | |
- gcc -g3 $(OBJS9) -o cc2.thread | |
+ $(CC) -g3 $(OBJS9) -o cc2.thread | |
cc2.6502: $(OBJS11) | |
- gcc -g3 $(OBJS11) -o cc2.6502 | |
+ $(CC) -g3 $(OBJS11) -o cc2.6502 | |
cc2.65c816: $(OBJS12) | |
- gcc -g3 $(OBJS12) -o cc2.65c816 | |
+ $(CC) -g3 $(OBJS12) -o cc2.65c816 | |
cc2.z8: $(OBJS13) | |
- gcc -g3 $(OBJS13) -o cc2.z8 | |
+ $(CC) -g3 $(OBJS13) -o cc2.z8 | |
cc2.super8: $(OBJS14) | |
- gcc -g3 $(OBJS14) -o cc2.super8 | |
+ $(CC) -g3 $(OBJS14) -o cc2.super8 | |
cc2.1802: $(OBJS15) | |
- gcc -g3 $(OBJS15) -o cc2.1802 | |
+ $(CC) -g3 $(OBJS15) -o cc2.1802 | |
cc2.6800: $(OBJS16) | |
- gcc -g3 $(OBJS16) -o cc2.6800 | |
+ $(CC) -g3 $(OBJS16) -o cc2.6800 | |
cc2.6809: $(OBJS17) | |
- gcc -g3 $(OBJS17) -o cc2.6809 | |
+ $(CC) -g3 $(OBJS17) -o cc2.6809 | |
cc2.8070: $(OBJS8) | |
- gcc -g3 $(OBJS8) -o cc2.8070 | |
+ $(CC) -g3 $(OBJS8) -o cc2.8070 | |
cc2.ee200: $(OBJS7) | |
- gcc -g3 $(OBJS7) -o cc2.ee200 | |
+ $(CC) -g3 $(OBJS7) -o cc2.ee200 | |
cc2.nova: $(OBJS10) | |
- gcc -g3 $(OBJS10) -o cc2.nova | |
+ $(CC) -g3 $(OBJS10) -o cc2.nova | |
cc2.ddp: $(OBJS18) | |
- gcc -g3 $(OBJS18) -o cc2.ddp | |
+ $(CC) -g3 $(OBJS18) -o cc2.ddp | |
cc2.7000: $(OBJS19) | |
- gcc -g3 $(OBJS19) -o cc2.7000 | |
+ $(CC) -g3 $(OBJS19) -o cc2.7000 | |
cc2.hc08: $(OBJS20) | |
- gcc -g3 $(OBJS20) -o cc2.hc08 | |
+ $(CC) -g3 $(OBJS20) -o cc2.hc08 | |
cc2.gb: $(OBJS21) | |
- gcc -g3 $(OBJS21) -o cc2.gb | |
+ $(CC) -g3 $(OBJS21) -o cc2.gb | |
support6303: | |
- (cd support6303; make) | |
+ (cd support6303; $(MAKE)) | |
support6502: | |
- (cd support6502; make) | |
+ (cd support6502; $(MAKE)) | |
support65c816: | |
- (cd support65c816; make) | |
+ (cd support65c816; $(MAKE)) | |
support6800: | |
- (cd support6800; make) | |
+ (cd support6800; $(MAKE)) | |
support6803: | |
- (cd support6803; make) | |
+ (cd support6803; $(MAKE)) | |
support6809: | |
- (cd support6809; make) | |
+ (cd support6809; $(MAKE)) | |
support68hc11: | |
- (cd support68hc11; make) | |
+ (cd support68hc11; $(MAKE)) | |
support8070: | |
- (cd support8070; make) | |
+ (cd support8070; $(MAKE)) | |
support8080: | |
- (cd support8080; make) | |
+ (cd support8080; $(MAKE)) | |
support8085: | |
- (cd support8085; make) | |
+ (cd support8085; $(MAKE)) | |
supportee200: | |
- (cd supportee200; make) | |
+ (cd supportee200; $(MAKE)) | |
supportnova: | |
- (cd supportnova; make) | |
+ (cd supportnova; $(MAKE)) | |
supportnova3: | |
- (cd supportnova3; make) | |
+ (cd supportnova3; $(MAKE)) | |
supportsuper8: | |
- (cd supportsuper8; make) | |
+ (cd supportsuper8; $(MAKE)) | |
supporttms7000: | |
- (cd supporttms7000; make) | |
+ (cd supporttms7000; $(MAKE)) | |
supportz8: | |
- (cd supportz8; make) | |
+ (cd supportz8; $(MAKE)) | |
supportz80: | |
- (cd supportz80; make) | |
+ (cd supportz80; $(MAKE)) | |
test: | |
- (cd test; make) | |
+ (cd test; $(MAKE)) | |
clean: | |
- (cd CPP; make clean) | |
+ (cd CPP; $(MAKE) clean) | |
rm -f cc cc0 copt | |
rm -f cc6502 cc65c816 | |
rm -f cc1.1802 cc2.1802 | |
@@ -274,23 +274,23 @@ clean: | |
rm -f cc1.hc08 cc2.hc08 | |
rm -f cc1.gb cc2.gb | |
rm -f *~ *.o | |
- (cd support6303; make clean) | |
- (cd support6502; make clean) | |
- (cd support65c816; make clean) | |
- (cd support6800; make clean) | |
- (cd support6803; make clean) | |
- (cd support6809; make clean) | |
- (cd support68hc11; make clean) | |
- (cd support8080; make clean) | |
- (cd supportee200; make clean) | |
- (cd supportnova; make clean) | |
- (cd supportnova3; make clean) | |
- (cd supportsuper8; make clean) | |
- (cd support8085; make clean) | |
- (cd supporttms7000; make clean) | |
- (cd supportz80; make clean) | |
- (cd supportz8; make clean) | |
- (cd test; make clean) | |
+ (cd support6303; $(MAKE) clean) | |
+ (cd support6502; $(MAKE) clean) | |
+ (cd support65c816; $(MAKE) clean) | |
+ (cd support6800; $(MAKE) clean) | |
+ (cd support6803; $(MAKE) clean) | |
+ (cd support6809; $(MAKE) clean) | |
+ (cd support68hc11; $(MAKE) clean) | |
+ (cd support8080; $(MAKE) clean) | |
+ (cd supportee200; $(MAKE) clean) | |
+ (cd supportnova; $(MAKE) clean) | |
+ (cd supportnova3; $(MAKE) clean) | |
+ (cd supportsuper8; $(MAKE) clean) | |
+ (cd support8085; $(MAKE) clean) | |
+ (cd supporttms7000; $(MAKE) clean) | |
+ (cd supportz80; $(MAKE) clean) | |
+ (cd supportz8; $(MAKE) clean) | |
+ (cd test; $(MAKE) clean) | |
# New install version. This is used by both the install rules, as we need | |
# to bootstrap build a toolchain with no support library to build the toolchain | |
@@ -426,10 +426,10 @@ bootinst: | |
# 68HC08 | |
mkdir -p $(CCROOT)/lib/hc08 | |
mkdir -p $(CCROOT)/lib/hc08/include/ | |
- cp lorderhc08 $(CCROOT)/bin/lorderhc08 | |
+# cp lorderhc08 $(CCROOT)/bin/lorderhc08 | |
cp cc1.hc08 $(CCROOT)/lib | |
cp cc2.hc08 $(CCROOT)/lib | |
- cp rules.hc08 $(CCROOT)/lib | |
+# cp rules.hc08 $(CCROOT)/lib | |
# Gameboy | |
mkdir -p $(CCROOT)/lib/gb | |
mkdir -p $(CCROOT)/lib/gb/include/ | |
diff --git a/cpp b/cpp | |
index 8938da4..6591d14 100755 | |
--- a/cpp | |
+++ b/cpp | |
@@ -3,7 +3,8 @@ | |
# | |
if [ -e /lib/cpp ] ; then | |
/lib/cpp -undef -nostdinc $* | |
-else | |
+elif [ -e /bin/cpp ] ; then | |
/bin/cpp -undef -nostdinc $* | |
+else | |
+ /usr/bin/cpp -undef -nostdinc -notraditional -Wno-unused-command-line-argument $* | |
fi | |
- | |
diff --git a/test/Makefile b/test/Makefile | |
index 50a803e..4118abc 100644 | |
--- a/test/Makefile | |
+++ b/test/Makefile | |
@@ -3,7 +3,7 @@ all: emu6502 emu65c816 emu6800 emu85 emuz8 emuz80 byte1802 emu6809 \ | |
testcrt0.o testcrtz80.o testcrt0_6502.o testcrt0_65c816.o \ | |
testcrt0_6303.o testcrt0_6803.o testcrt0_6809.o testcrt0_z8.o \ | |
testcrt0_byte1802.o testcrt0_ee200.o testcrt0_nova.o testcrt0_nova3.o \ | |
- testcrt0_6800.o testcrt0_8070.o testcrt0_tms7000.o | |
+ testcrt0_6800.o testcrt0_tms7000.o | |
emu85: emu85.o intel_8085_emulator.o | |
$(CC) emu85.o intel_8085_emulator.o -o emu85 | |
@@ -27,22 +27,22 @@ emuz8: emuz8.o z8.o | |
$(CC) emuz8.o z8.o -o emuz8 | |
emuz80.o: emuz80.c | |
- (cd libz80; make) | |
+ (cd libz80; $(MAKE)) | |
$(CC) $(CFLAGS) -c emuz80.c | |
emuz80: emuz80.o z80dis.o | |
- (cd libz80; make) | |
+ (cd libz80; $(MAKE)) | |
$(CC) emuz80.o libz80/libz80.o z80dis.o -o emuz80 | |
emu6502: emu6502.o 6502.o 6502dis.o | |
$(CC) emu6502.o 6502.o 6502dis.o -o emu6502 | |
emu65c816: emu65c816.o | |
- (cd lib65c816; make) | |
+ (cd lib65c816; $(MAKE)) | |
$(CC) emu65c816.o lib65c816/src/lib65816.a -o emu65c816 | |
emu65c816.o: emu65c816.c | |
- (cd lib65c816; make) | |
+ (cd lib65c816; $(MAKE)) | |
$(CC) $(CFLAGS) -c -Ilib65c816 emu65c816.c | |
6800.o: 6800.c 6800.h | |
@@ -104,8 +104,8 @@ testcrt0_6803.o: testcrt0_6803.s | |
testcrt0_6809.o: testcrt0_6809.s | |
fcc -m6809 -c testcrt0_6809.s | |
-testcrt0_8070.o: testcrt0_8070.s | |
- fcc -m8070 -c testcrt0_8070.s | |
+#testcrt0_8070.o: testcrt0_8070.s | |
+# fcc -m8070 -c testcrt0_8070.s | |
testcrt0_ee200.o: testcrt0_ee200.s | |
fcc -mee200 -c testcrt0_ee200.s | |
@@ -126,6 +126,5 @@ clean: | |
rm -f *.o tests/*.o *~ tests/*~ emu85 tests/*.map *.log emuz80 | |
rm -f emu6502 byte1802 emu65c816 emuz8 emu6809 ee200 nova | |
rm -f wtests/*.o | |
- (cd libz80; make clean) | |
- (cd lib65c816; make clean) | |
- | |
+ (cd libz80; $(MAKE) clean) | |
+ (cd lib65c816; $(MAKE) clean) | |
diff --git a/test/lib65c816/config.mk b/test/lib65c816/config.mk | |
index 23b3690..3029910 100644 | |
--- a/test/lib65c816/config.mk | |
+++ b/test/lib65c816/config.mk | |
@@ -1,6 +1,6 @@ | |
-CC := gcc | |
+CC := cc | |
CCFLAGS := -c -O2 -fomit-frame-pointer $(CCOPTS) -DDEBUG -Werror | |
-LD := gcc | |
+LD := cc | |
LDFLAGS := | |
PREFIX := /opt/v65c816/ | |
diff --git a/test/libz80/codegen/Makefile b/test/libz80/codegen/Makefile | |
index 8dbf031..2f67371 100644 | |
--- a/test/libz80/codegen/Makefile | |
+++ b/test/libz80/codegen/Makefile | |
@@ -1,7 +1,7 @@ | |
all: mktables | |
mktables: mktables.c | |
- gcc -g -o mktables mktables.c | |
+ $(CC) -g -o mktables mktables.c | |
force: clean opcodes | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment