From 82035e87dafb1d8dce7c4464c8ee16029b8a3aed Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Mon, 10 Sep 2012 21:45:38 +0200 Subject: [PATCH] Add makefile targets for installing sysroot base headers. --- Makefile | 3 +++ libmaxsi/Makefile | 21 ++++++++++++++++----- sortix/Makefile | 10 +++++++++- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 5c0db0c9..711dfd0e 100644 --- a/Makefile +++ b/Makefile @@ -49,6 +49,9 @@ all: $(INITRD) suball: (for D in $(MODULES); do ($(MAKE) all $(MFLAGS) --directory $$D && $(MAKE) install $(MFLAGS) --directory $$D) || exit $?; done) +sysroot-base-headers: + (for D in libmaxsi sortix; do ($(MAKE) install-headers $(MFLAGS) --directory $$D) || exit $?; done) + clean: rm -rf $(SYSROOT) rm -f $(INITRD) diff --git a/libmaxsi/Makefile b/libmaxsi/Makefile index 1abc3d6c..2b85e1ea 100644 --- a/libmaxsi/Makefile +++ b/libmaxsi/Makefile @@ -192,6 +192,9 @@ BINS=libc.a libg.a libmaxsi.a libmaxsi-sortix.a $(CRTOBJ) all: $(BINS) +.PHONY: all headers clean install install-include-dirs install-headers \ + install-lib-dirs install-libs + libmaxsi.a: $(OBJS) ar rcs libmaxsi.a $(OBJS) @@ -257,12 +260,20 @@ clean: rm -rf sortix $(HEADERDIRS) # Installation into sysroot -install: - mkdir -p $(SYSROOT)/usr/lib - for F in $(BINS); do cp -P $$F $(SYSROOT)/usr/lib || exit $?; done - for D in $(UNPROCHEADERDIRS); do mkdir -p $(SYSROOT)/usr/$$D || exit $?; done - for SRC in $(HEADERS); do DEST=`echo $$SRC | sed 's/preproc/include/'`; cp $$SRC $(SYSROOT)/usr/$$DEST || exit $?; done +install: install-headers install-libs + +install-include-dirs: headers mkdir -p $(SYSROOT)/usr/include + for D in $(UNPROCHEADERDIRS); do mkdir -p $(SYSROOT)/usr/$$D || exit $?; done + +install-headers: install-include-dirs headers + for SRC in $(HEADERS); do DEST=`echo $$SRC | sed 's/preproc/include/'`; cp $$SRC $(SYSROOT)/usr/$$DEST || exit $?; done + +install-lib-dirs: all + mkdir -p $(SYSROOT)/usr/lib + +install-libs: install-lib-dirs all + for F in $(BINS); do cp -P $$F $(SYSROOT)/usr/lib || exit $?; done touch deleteme.cpp g++ $(CPUFLAGS) -c deleteme.cpp -o deleteme.o for F in libgcc.so libm.so libstdc++.so; do ld $(CPULDFLAGS) -shared deleteme.o -o $(SYSROOT)/usr/lib/$$F; done diff --git a/sortix/Makefile b/sortix/Makefile index d21dc521..6e176b1d 100644 --- a/sortix/Makefile +++ b/sortix/Makefile @@ -153,6 +153,10 @@ JSOBJS:=$(subst .o,-js.o,$(OBJS)) all: sortix.bin +.PHONY: all headers clean install install-include-dirs install-headers + +headers: + # jssortix compilation jssortix: jssortix.bin @@ -192,10 +196,14 @@ clean: for D in $(DIRS); do rm -f $$D/*.o $$D/*.bin $$D/*.out $$D/*.tmp; done # Installation into sysroot -install: +install: install-headers + +install-include-dirs: headers for DIR in $(HEADERDIRS); do \ mkdir -p $(SYSROOT)/usr/$$DIR; \ done + +install-headers: install-include-dirs headers for FILE in $(HEADERS); do \ cp $$FILE $(SYSROOT)/usr/$$FILE; \ done