Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to RevoBoot v.1.5.21 #34

Open
wants to merge 136 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
b78bfd9
Finished option to customise Processor Tray serial in MacPro
Oct 25, 2012
946bd41
Update for RevoBoot v1.5.10/v1.5.20
Piker-Alpha Oct 26, 2012
190e096
Updating version info for RevoBoot v1.5.20
Piker-Alpha Oct 26, 2012
a094b22
Now cleanly defaults to Mountain Lion
Piker-Alpha Oct 26, 2012
e5804ef
Update for RevoBoot v1.5.10/v1.5.20
Piker-Alpha Oct 26, 2012
ce6b5d0
Update for RevoBoot v1.5.10/v1.5.20
Piker-Alpha Oct 26, 2012
28be76c
Update for RevoBoot v1.5.10/v1.5.20
Piker-Alpha Oct 26, 2012
4530f8f
Update for RevoBoot v1.5.10/v1.5.20
Piker-Alpha Oct 26, 2012
5a38290
Update for RevoBoot v1.5.10/v1.5.20
Piker-Alpha Oct 26, 2012
e6f1d0c
Update for RevoBoot v1.5.10/v1.5.20
Piker-Alpha Oct 26, 2012
2aced46
Update for RevoBoot v1.5.10/v1.5.20
Piker-Alpha Oct 26, 2012
fea70a6
Update for RevoBoot v1.5.10/v1.5.20
Piker-Alpha Oct 26, 2012
d52f639
Build support for optional model identifier (example: Macmini51)
Piker-Alpha Oct 26, 2012
412daa8
Moving file extensions
Piker-Alpha Oct 26, 2012
0cd2576
Fix typo
Piker-Alpha Oct 26, 2012
ef159e7
Copy data-template.h for new configurations
Piker-Alpha Oct 26, 2012
1826d92
Update for RevoBoot v1.5.10/v1.5.20
Piker-Alpha Oct 26, 2012
a7b40d4
Bug fix, typo and cleanups for RevoBoot v1.5.20
Piker-Alpha Oct 26, 2012
b923535
New Macmini6 data added for RevoBoot v1.5.21
Piker-Alpha Oct 26, 2012
b75feb8
Update for RevoBoot v.1.5.21
Piker-Alpha Oct 26, 2012
267063d
Updating version info for RevoBoot v1.5.21
Piker-Alpha Oct 26, 2012
989102f
Typo
Piker-Alpha Oct 26, 2012
9d7ffbd
Cleanup/update for RevoBoot v.1.5.20
Piker-Alpha Oct 26, 2012
adbeeb7
No longer used in RevoBoot v1.5.20
Piker-Alpha Oct 26, 2012
f3874b7
File no longer used in RevoBoot v1.5.10 (can be removed)
Piker-Alpha Oct 26, 2012
6ea2918
Quick update for RevoBoot v1.5.10/v1.5.20
Piker-Alpha Oct 26, 2012
fd2c2f5
ignore build/log stuff
Piker-Alpha Oct 26, 2012
8f24a50
Changed usage: ./c USBDRIVE
Piker-Alpha Oct 26, 2012
5a3421a
New MacBookPro10,2 and Macmini6,[2/1] added
Piker-Alpha Oct 26, 2012
f4e3ef9
MacBookPro10,2 added
Piker-Alpha Oct 26, 2012
b37e401
Typo
Piker-Alpha Oct 26, 2012
7336203
Use CONFIG_DIR and data-template.h instead of data.h
Piker-Alpha Oct 27, 2012
173260c
Update for RevoBoot v1.5.22
Piker-Alpha Oct 27, 2012
f9c98ad
Updating version info for RevoBoot v1.5.22
Piker-Alpha Oct 27, 2012
00012ca
STATIC_SMSERIALNUMBER -> SMB_BOARD_SERIAL_NUMBER
Piker-Alpha Oct 27, 2012
0c34f1d
Bug fix and cleanups
Piker-Alpha Oct 27, 2012
5658ac9
Updating version info for RevoBoot v1.5.23
Piker-Alpha Oct 27, 2012
5c9837d
Update for RevoBoot v1.5.23
Piker-Alpha Oct 27, 2012
61d2aa5
Comment only
Piker-Alpha Oct 27, 2012
14d5d57
Cleanup only
Piker-Alpha Oct 27, 2012
3f254d2
Updating version info for RevoBoot v1.5.25
Piker-Alpha Oct 28, 2012
f1fe27b
New static data paths for RevoBoot v1.5.25
Piker-Alpha Oct 28, 2012
3bcbf0c
New static data paths for RevoBoot v1.5.25
Piker-Alpha Oct 28, 2012
f6f699a
Use model identifier as filename for static data
Piker-Alpha Oct 28, 2012
355af00
Use model identifier as filename for static data
Piker-Alpha Oct 28, 2012
717befb
No longer included with RevoBoot v1.5.25
Piker-Alpha Oct 28, 2012
997d1c6
Updating version info for RevoBoot v1.5.25
Piker-Alpha Oct 28, 2012
dc979bd
Read/use MacModelNN from RevoBoot/MODEL
Piker-Alpha Oct 30, 2012
79b2403
Patch for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
c943b11
Patch for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
61494d2
Patch for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
3870a4a
Patch for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
7b91930
Patch for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
6654d64
Patch for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
e0fc38e
Patch for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
355ce29
Limit debug output (patch for RevoBoot v1.5.30)
Piker-Alpha Oct 30, 2012
40bb565
Patch for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
c55291c
Patch for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
19e721f
Preparations for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
590d71b
Patch for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
ba22e02
Patch for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
8d7298e
Updating version info for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
356b34d
Updating version info for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
84fe56a
Patch for RevoBoot v1.5.30
Piker-Alpha Oct 30, 2012
0b0aad8
Updating version info for RevoBoot v1.5.31
Piker-Alpha Oct 30, 2012
29daa6f
Updating version info for RevoBoot v1.5.31
Piker-Alpha Oct 30, 2012
823b752
Bug fix for RevoBoot v1.5.31
Piker-Alpha Oct 30, 2012
d94c42e
Bug fix for RevoBoot v1.5.31
Piker-Alpha Oct 30, 2012
e73a495
Bug fix for RevoBoot v1.5.31
Piker-Alpha Oct 30, 2012
9e2382b
Changed LOAD_STATIC_EFI_DATA_FROM_EXTRA to the default setting
Piker-Alpha Oct 30, 2012
42f885b
Fix settings-template.h for when #define TARGET_MODEL = MACPRO
Oct 31, 2012
ffb2f80
Bla bla bla
Piker-Alpha Nov 1, 2012
22050d7
Fusion Drive note updated
Piker-Alpha Nov 2, 2012
652aca3
Typo
Piker-Alpha Nov 3, 2012
6839bf3
Fusion Drive cleanups
Piker-Alpha Nov 3, 2012
5271e5f
Fusion Drive cleanups
Piker-Alpha Nov 3, 2012
59326fb
Updating version info for RevoBoot v1.5.32
Piker-Alpha Nov 3, 2012
08a77be
Updating for RevoBoot v1.5.32
Piker-Alpha Nov 3, 2012
9b0e500
Cleanups
Piker-Alpha Nov 3, 2012
f43a90d
Fix compilation error for plain ./r
Piker-Alpha Nov 3, 2012
d4827d6
Typos
Piker-Alpha Nov 3, 2012
e15243e
Removed a debug printf()
Piker-Alpha Nov 3, 2012
9863ee6
Fix for static SMBIOS bug for RevoBoot v1.5.33
Piker-Alpha Nov 3, 2012
b0785fd
Updating version info for RevoBoot v1.5.33
Piker-Alpha Nov 3, 2012
31fe24f
Update to RevoBoot v1.5.33
Piker-Alpha Nov 3, 2012
bb4c68f
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
1f9ac16
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
3280cf8
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
bdbc525
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
a80f048
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
d00b7b8
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
8c7f7b3
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
47fd418
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
a56f855
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
ffe8613
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
0b82d82
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
aa11394
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
d99c78e
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
4f25936
Whitespace fix only
Piker-Alpha Nov 3, 2012
4165da1
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
1c40333
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
ee1791f
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
0fa8bfa
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
b42ff7d
Patch for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
27d81d3
Updating version info for RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
344e6e2
Update to RevoBoot v1.5.34
Piker-Alpha Nov 3, 2012
5975a02
Fix version number
Piker-Alpha Nov 3, 2012
1872368
Typo, note about NetBoot/NetInstall and cleanups
Piker-Alpha Nov 3, 2012
ddaeb06
Cleanups for RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
b7e9710
Cleanups for RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
5856500
Cleanups for RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
e7ed8ff
Cleanups for RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
896c002
Cleanups for RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
d2ae81d
Feature enhancements for RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
43ba532
Adding SMBStructHeader for RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
0089423
Feature enhancements for RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
e18e79c
Feature enhancements for RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
7046f81
Update to RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
eb1ec00
Updating version info for RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
e13aa26
New setting SET_MAX_STRUCTURE_LENGTH for RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
a8d21c2
Last minute patch for RevoBoot v1.5.35
Piker-Alpha Nov 5, 2012
8203799
Interim solution for writing to /Extra/MacModelNN.bin
Piker-Alpha Nov 7, 2012
5e0d337
Also write properties from efi/device-properties
Piker-Alpha Nov 8, 2012
67318fd
Added feedback/output
Piker-Alpha Nov 10, 2012
5b6712f
Added feedback/output
Piker-Alpha Nov 10, 2012
eb4df18
Added feedback/output
Piker-Alpha Nov 10, 2012
31eff76
Bug fix
Piker-Alpha Nov 10, 2012
3558dda
Be silent
Piker-Alpha Nov 10, 2012
975d350
Ready for NVRAM->efi-boot-device-data reading
Piker-Alpha Nov 21, 2012
4c76bda
Updating file (we sem to have lost stuff)
Piker-Alpha Nov 21, 2012
079a865
Using libtool instead of ar/ranlib
Piker-Alpha Nov 21, 2012
6f27f18
Using libtool instead of ar/ranlib
Piker-Alpha Nov 21, 2012
4d5d8f6
Cleanup and output changes
Piker-Alpha Nov 21, 2012
e87ce17
Typo
Piker-Alpha Dec 29, 2012
13cab59
Fix broken model selection
Piker-Alpha Mar 8, 2013
1999294
Fix compilation error
Piker-Alpha Mar 8, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 17 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
.DS_Store
data-hp.h
data-asus.h
settings-hp.h
setting-asus.h

out.log
obj/*
sym/*

i386/config/SETTINGS/*.h

i386/config/ACPI/default.h
i386/config/ACPI/*Mac*.h

i386/config/EFI/default.h
i386/config/EFI/*Mac*.h

i386/config/SMBIOS/default.h
i386/config/SMBIOS/*Mac*.h

i386/util/libcc_kext.a
101 changes: 101 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,104 @@
RevoBoot v1.5.35
================
- SMBIOS related enhancements for RevoBoot v1.5.35 (PikerAlpha, November 2012).
- VERSION updated to v1.5.35


RevoBoot v1.5.34
================
- LOAD_STATIC_EFI_DATA_FROM_EXTRA in settings-template.h renamed to LOAD_MODEL_SPECIFIC_EFI_DATA (PikerAlpha, October 2012).
- LOAD_STATIC_SMBIOS_DATA_FROM_EXTRA in settings-template.h renamed to LOAD_MODEL_SPECIFIC_SMBIOS_DATA (PikerAlpha, October 2012).
- New LOAD_MODEL_SPECIFIC_ACPI_DATA setting in settings-template.h (PikerAlpha, October 2012).
- New LOAD_MODEL_SPECIFIC_STATIC_DATA setting in settings-template.h (PikerAlpha, October 2012).
- VERSION updated to v1.5.34

Notes:

Static EFI/SMBIOS data will be used when RevoBoot can't find model specific data: /Extra/[EFI/SMBIOS]/MacModelNN.bin
DSDT.aml will be loaded when RevoBoot can't find: /Extra/ACPI/DSDT-MacModelNN.aml (example).
You <i>must</i> use the latest version of RevoBoot/i386/config/settings-template.h or things won't work.


RevoBoot v1.5.33
================
- Restored lost lines in RevoBoot/i386/libsaio/SMBIOS/static_data.h (PikerAlpha, November 2012).
- VERSION updated to v1.5.33


RevoBoot v1.5.32
================
- Optionally include Recovery HD support code in boot.c (PikerAlpha, October 2012).
- Renamed LION_RECOVERY_SUPPORT to CORE_STARAGE_SUPPORT in disk.c (PikerAlpha, October 2012).
- Renamed LION_FILEVAULT_SUPPORT to CORE_STARAGE_SUPPORT in disk.c (PikerAlpha, November 2012).
- Renamed encryptedBootPartition to coreStoragePartition in disk.c (PikerAlpha, October 2012).
- Cleaned up settings-template.h (PikerAlpha, October 2012).
- VERSION updated to v1.5.32


RevoBoot v1.5.31
================
- STATIC_SYSTEM_SERIAL_NUMBER renamed to EFI_SYSTEM_SERIAL_NUMBER (PikerAlpha, October 2012).
- Restored lost STATIC_SMSERIALNUMBER in setings-template.h (PikerAlpha, October 2012).
- STATIC_SMSERIALNUMBER renamed to SMB_SYSTEM_SERIAL_NUMBER (PikerAlpha, October 2012).
- VERSION updated to v1.5.31


RevoBoot v1.5.30
================
- Move/update /Extra/ data reading to RevoBoot/i386/libsaio/load.c (PikerAlpha, October 2012).
- Option to read /Extra/EFI/[MacModelNN.bin] when static EFI data is used (PikerAlpha, October 2012).
- Option to read /Extra/SMBIOS/[MacModelNN.bin] when static SMBIOS data is used (PikerAlpha, October 2012).
- Makefile changes for above features(PikerAlpha, October 2012).
- VERSION updated to v1.5.30


RevoBoot v1.5.25
================
- RevoBoot/i386/config/data.h is no longer included with (PikerAlpha, October 2012).
- New static data paths in RevoBoot/i386/libsaio/Makefile (PikerAlpha, October 2012).
- Use model identifier as filename for static data (PikerAlpha, October 2012).
- VERSION updated to v1.5.25


RevoBoot v1.5.23
================
- Bug fix and cleanups in RevoBoot/i386/libsaio/SMBIOS/dynamic_data.h (PikerAlpha, October 2012).
- VERSION updated to v1.5.23


RevoBoot v1.5.22
================
- Bug fix in RevoBoot/Makefile (PikerAlpha, October 2012).
- VERSION updated to v1.5.22


RevoBoot v1.5.21
================
- Model data for new Macmini6,N added (PikerAlpha, October 2012).
- VERSION updated to v1.5.21


RevoBoot v1.5.20
================
- Automatic data selection for ACPI/EFI and SMBIOS data (PikerAlpha, October 2012)
- Copies ACPI/EFI/SMBIOS/data-template.h to [your model.h] for new configurations (PikerAlpha, October 2012)


RevoBoot v1.5.10
================
- Makefiles cleaned up/optimized (PikerAlpha, October 2012).
- make now defaults to Mountain Lion (PikerAlpha, October 2012).
- MODEL=[your model] argument added to makefiles (PikerAlpha, October 2012).
- MODEL=$1 added to RevoBoot/r for optional model identifier (PikerAlpha, October 2012).
- make now creates RevoBoot/i386/config/SETTINGS when missing (PikerAlpha, October 2012).
- Makefile now copies settings-template.h to SETTINGS/[your model.h] when missing (PikerAlpha, October 2012).


RevoBoot v1.5.01
================
- MacPro SMBIOS board serial/type added (dgsga, October 2012).


RevoBoot v1.5.00
================
- RevoBoot project forked (PikerAlpha, October 2012).
Expand Down
215 changes: 154 additions & 61 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,27 +1,33 @@
#
# Makefile for RevoBoot
# File: RevoBoot/Makefile
#
# Updates:
#
# - Major cleanup (PikerAlpha, October 2012).
# - Output improvements (PikerAlpha, October 2012).
# - Default build target is now Mountain Lion (PikerAlpha, October 2012).
# - PRODUCT_MODEL_TARGET for target build model added (PikerAlpha, October 2012).
# - Creates RevoBoot/config/SETTINGS when missing (PikerAlpha, October 2012).
# - Copies settings-template.h to SETTINGS/ModelnameNN.h when missing (PikerAlpha, October 2012).
# - Automatic ACPI/EFI/SMBIOS data selection (PikerAlpha, October 2012).
# - Copies ACPI/EFI/SMBIOS/data-template.h for new conigurations (PikerAlpha, October 2012).
# - Output added for cp/mkdir/rm actions (PikerAlpha, November 2012).
# - New build target 'help' added (PikerAlpha, November 2012).
#

#
# Include Apple makefile definitions.
#

export USE_APPLE_PB_SUPPORT = all

# CFLAGS = -O $(MORECPP) -arch i386 -g
DEFINES=
CONFIG = hd
LIBDIR = libsa
INC = -I. -I$(LIBDIR)
ifneq "" "$(wildcard /bin/mkdirs)"
MKDIRS = /bin/mkdirs
else
MKDIRS = /bin/mkdir -p
endif
AS = as
LD = ld

PAX = /bin/pax

OBJROOT = `pwd`/obj
SYMROOT = `pwd`/sym
DSTROOT = `pwd`/dst
SRCROOT = /tmp

#
# Export version number (picked up by i386/libsaio/Makefile)
Expand All @@ -31,69 +37,156 @@ export PRODUCT_VERSION_NUMBER = `cat ../../VERSION`

EXCLUDE = --exclude=.DS_Store --exclude=sym --exclude=obj --exclude=*.sh

ARCHLESS_RC_CFLAGS=`echo $(RC_CFLAGS) | sed 's/-arch [a-z0-9]*//g'`
#
# Search paths.
#

VPATH = $(OBJROOT):$(SYMROOT)

GENERIC_SUBDIRS =

#
# Export target OS type (picked up by i386/libsaio/Makefile)
# Check if OS build target is specified (example: make mountain-lion).
#

ifeq ($(MAKECMDGOALS), mountain-lion)
ifeq ($(MAKECMDGOALS),)
#
# No OS build target given. Build for Mountain Lion (default).
#
MAKE_TARGET_OS = 6;
MAKEGOAL = mountain-lion
else
ifeq ($(MAKECMDGOALS), lion)
MAKE_TARGET_OS = 2;
#
# Setting MAKE_TARGET_OS and MAKEGOAL based on OS build target.
#
ifeq ($(MAKECMDGOALS), mountain-lion)
MAKE_TARGET_OS = 6;
MAKEGOAL = mountain-lion
else
MAKE_TARGET_OS = 1;
ifeq ($(MAKECMDGOALS), lion)
MAKE_TARGET_OS = 2;
MAKEGOAL = lion
else ifeq ($(MAKECMDGOALS), legacy)
MAKE_TARGET_OS = 1;
MAKEGOAL = legacy
endif
endif
endif

#
# Export our make goal i.e. mountain-lion, lion or legacy (snow-leopard or leopard).
#

export MAKEGOAL

#
# Export OS build target (picked up by: i386/libsaio/Makefile).
#

export PRODUCT_OS_TARGET = `echo $(MAKE_TARGET_OS)`

lion: all
mountain-lion: all

all: $(SYMROOT) $(OBJROOT)
@if [ -z "$(RC_ARCHS)" ]; then \
RC_ARCHS="i386"; \
fi; \
SUBDIRS="$(GENERIC_SUBDIRS) $$RC_ARCHS"; \
for i in $$SUBDIRS; \
do \
if [ -d $$i ]; then \
echo ================= make $@ for $$i =================; \
( OBJROOT=$(OBJROOT)/$${i}; \
SYMROOT=$(SYMROOT)/$${i}; \
DSTROOT=$(DSTROOT); \
XCFLAGS=$(ARCHLESS_RC_CFLAGS); \
GENSUBDIRS="$(GENERIC_SUBDIRS)"; \
for x in $$GENSUBDIRS; \
do \
if [ "$$x" == "$$i" ]; then \
XCFLAGS="$(RC_CFLAGS)"; \
break; \
fi \
done; \
echo "$$OBJROOT $$SYMROOT $$DSTROOT"; \
cd $$i; ${MAKE} \
"OBJROOT=$$OBJROOT" \
"SYMROOT=$$SYMROOT" \
"DSTROOT=$$DSTROOT" \
"SRCROOT=$$SRCROOT" \
"RC_ARCHS=$$RC_ARCHS" \
"TARGET=$$i" \
"RC_CFLAGS=$$XCFLAGS" $@ \
) || exit $$?; \
else \
echo "========= Nothing to build for $$i ========="; \
fi; \
done
#
# Check if a target model was specified (example: make MODEL=16 mountain-lion).
#

ifdef MODEL
#
# MODEL=[MacModelNN] specified, export target model as PRODUCT_MODEL_TARGET.
#
ifneq ($(MODEL),)
export MAKE_TARGET_MODEL = $(MODEL)
#
# Include static ACPI/EFI/SMBIOS data file per model identifier.
#
DATA_FILE = $(MODEL)
else
export MAKE_TARGET_MODEL = default
#
# Include default/empty static data file (no model identifier specified).
#
DATA_FILE = data-template
endif
else
#
# Include default settings template (no model identifier specified).
#
export MAKE_TARGET_MODEL = default
#
# Include default/empty static data file (no model identifier specified).
#
DATA_FILE = data-template
endif

#
# Export target filenames for static ACPI, EFI and SMBIOS data.
#

export MAKE_ACPI_DATA_FILE = ACPI/$(DATA_FILE).h
export MAKE_EFI_DATA_FILE = EFI/$(DATA_FILE).h
export MAKE_SMBIOS_DATA_FILE = SMBIOS/$(DATA_FILE).h

#
# Our one and only build target directory.
#

ARCH_DIR=i386

CONFIG_DIR=$(ARCH_DIR)/config

SETTINGS_DIR=$(CONFIG_DIR)/SETTINGS
SETTINGS_FILE=$(SETTINGS_DIR)/$(MAKE_TARGET_MODEL).h

$(MAKEGOAL): $(SYMROOT) $(OBJROOT)
@if [ ! -f $(CONFIG_DIR)/$(MAKE_ACPI_DATA_FILE) ]; then \
echo "\t[CP] $(CONFIG_DIR)/ACPI/data-template.h $(CONFIG_DIR)/$(MAKE_ACPI_DATA_FILE)"; \
cp -n $(CONFIG_DIR)/ACPI/data-template.h $(CONFIG_DIR)/$(MAKE_ACPI_DATA_FILE); \
fi;

@if [ ! -f $(CONFIG_DIR)/$(MAKE_EFI_DATA_FILE) ]; then \
echo "\t[CP] $(CONFIG_DIR)/EFI/data-template.h $(CONFIG_DIR)/$(MAKE_EFI_DATA_FILE)"; \
cp -n $(CONFIG_DIR)/EFI/data-template.h $(CONFIG_DIR)/$(MAKE_EFI_DATA_FILE); \
fi;

@if [ ! -f $(CONFIG_DIR)/$(MAKE_SMBIOS_DATA_FILE) ]; then \
echo "\t[CP] $(CONFIG_DIR)/SMBIOS/data-template.h $(CONFIG_DIR)/$(MAKE_SMBIOS_DATA_FILE)"; \
cp -n $(CONFIG_DIR)/SMBIOS/data-template.h $(CONFIG_DIR)/$(MAKE_SMBIOS_DATA_FILE); \
fi;

@if [ ! -d $(SETTINGS_DIR) ]; then \
echo "\t[MKDIR] $(SETTINGS_DIR)"; \
/bin/mkdir -p $(SETTINGS_DIR); \
fi;

@if [ ! -f $(SETTINGS_FILE) ]; then \
echo "\t[CP] $(CONFIG_DIR)/settings-template.h $(SETTINGS_FILE)"; \
cp -n $(CONFIG_DIR)/settings-template.h $(SETTINGS_FILE); \
fi;

@if [ -d $(ARCH_DIR) ]; then \
echo ================= make MODEL=$(MAKE_TARGET_MODEL) $@ for: RevoBoot/$(ARCH_DIR) =================; \
( OBJROOT=$(OBJROOT)/$(ARCH_DIR); \
SYMROOT=$(SYMROOT)/$(ARCH_DIR); \
XCFLAGS="$(RC_CFLAGS)"; \
echo "$$OBJROOT $$SYMROOT"; \
cd $(ARCH_DIR); ${MAKE} \
"OBJROOT=$$OBJROOT" \
"SYMROOT=$$SYMROOT" \
"RC_ARCHS=$(ARCH_DIR)" \
"TARGET=$(ARCH_DIR)" \
"RC_CFLAGS=$$XCFLAGS" $@ \
) || exit $$?; \
fi;

clean:
@if [ -d "$(OBJROOT)" ];then echo "\t[RMDIR] $(OBJROOT)"; fi
@if [ -d "$(SYMROOT)" ];then echo "\t[RMDIR] $(SYMROOT)"; fi
rm -rf sym obj dst out.log

$(SYMROOT) $(OBJROOT) $(DSTROOT):
@$(MKDIRS) $@
help:
@echo
@echo 'Build targets:'
@echo ' - Build all targets [DEFAULT]'
@echo
@echo 'Cleaning targets:'
@echo ' clean - Remove generated files'

$(SYMROOT) $(OBJROOT):
@/bin/mkdir -p $@
Loading