diff --git a/make/makefile b/make/makefile index 95b9116..8013b41 100644 --- a/make/makefile +++ b/make/makefile @@ -92,16 +92,16 @@ install: compiler @$(MKDIR_PARENT) $(DESTDIR)$(bindir) $(INSTALL_PROGRAM) $(project_dir)/bin/oscar64 $(DESTDIR)$(bindir) @$(MKDIR_PARENT) $(DESTDIR)$(includedir)/oscar64/{audio,c64,c128,cx16,gfx,nes,opp,plus4,vic20} - $(INSTALL_DATA) $(project_dir)/include/*.h $(DESTDIR)$(includedir)/oscar64 - $(INSTALL_DATA) $(project_dir)/include/audio/*.h $(DESTDIR)$(includedir)/oscar64/audio - $(INSTALL_DATA) $(project_dir)/include/c64/*.h $(DESTDIR)$(includedir)/oscar64/c64 - $(INSTALL_DATA) $(project_dir)/include/c128/*.h $(DESTDIR)$(includedir)/oscar64/c128 - $(INSTALL_DATA) $(project_dir)/include/cx16/*.h $(DESTDIR)$(includedir)/oscar64/cx16 - $(INSTALL_DATA) $(project_dir)/include/gfx/*.h $(DESTDIR)$(includedir)/oscar64/gfx - $(INSTALL_DATA) $(project_dir)/include/nes/*.h $(DESTDIR)$(includedir)/oscar64/nes - $(INSTALL_DATA) $(project_dir)/include/opp/*.h $(DESTDIR)$(includedir)/oscar64/opp - $(INSTALL_DATA) $(project_dir)/include/plus4/*.h $(DESTDIR)$(includedir)/oscar64/plus4 - $(INSTALL_DATA) $(project_dir)/include/vic20/*.h $(DESTDIR)$(includedir)/oscar64/vic20 + $(INSTALL_DATA) $(project_dir)/include/*.{h,c} $(DESTDIR)$(includedir)/oscar64 + $(INSTALL_DATA) $(project_dir)/include/audio/*.{h,c} $(DESTDIR)$(includedir)/oscar64/audio + $(INSTALL_DATA) $(project_dir)/include/c64/*.{h,c} $(DESTDIR)$(includedir)/oscar64/c64 + $(INSTALL_DATA) $(project_dir)/include/c128/*.{h,c} $(DESTDIR)$(includedir)/oscar64/c128 + $(INSTALL_DATA) $(project_dir)/include/cx16/*.{h,c} $(DESTDIR)$(includedir)/oscar64/cx16 + $(INSTALL_DATA) $(project_dir)/include/gfx/*.{h,c} $(DESTDIR)$(includedir)/oscar64/gfx + $(INSTALL_DATA) $(project_dir)/include/nes/*.{h,c} $(DESTDIR)$(includedir)/oscar64/nes + $(INSTALL_DATA) $(project_dir)/include/opp/*.{h,cpp} $(DESTDIR)$(includedir)/oscar64/opp + $(INSTALL_DATA) $(project_dir)/include/plus4/*.{h,c} $(DESTDIR)$(includedir)/oscar64/plus4 + $(INSTALL_DATA) $(project_dir)/include/vic20/*.{h,c} $(DESTDIR)$(includedir)/oscar64/vic20 uninstall: diff --git a/oscar64/oscar64.cpp b/oscar64/oscar64.cpp index c22d9e7..af9f463 100644 --- a/oscar64/oscar64.cpp +++ b/oscar64/oscar64.cpp @@ -113,7 +113,30 @@ int main2(int argc, const char** argv) compiler->mPreprocessor->AddPath(basePath); strcpy_s(includePath, basePath); - strcat_s(includePath, "include/"); + { + FILE* crtFile; + char crtFileNamePath[FILENAME_MAX]; + crtFileNamePath[FILENAME_MAX - 1] = '\0'; + strcpy_s(crtFileNamePath, basePath); + strcat_s(crtFileNamePath, "include/crt.h"); + + if ((crtFile = fopen(crtFileNamePath, "r"))) + strcat_s(includePath, "include/"); + else + { + strcpy_s(crtFileNamePath, basePath); + strcat_s(crtFileNamePath, "include/oscar64/crt.h"); + + if ((crtFile = fopen(crtFileNamePath, "r"))) + strcat_s(includePath, "include/oscar64/"); + else + { + printf("Could not locate Oscar64 includes under %s\n", basePath); + return 20; + } + } + fclose(crtFile); + } compiler->mPreprocessor->AddPath(includePath); strcpy_s(crtPath, includePath); strcat_s(crtPath, "crt.c");