Skip to content

Commit 82362bc

Browse files
committed
Support custom prefix, incdir and libdir
1 parent bb86319 commit 82362bc

File tree

4 files changed

+37
-14
lines changed

4 files changed

+37
-14
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ include
55
lib
66
wii
77
gc/ogc/libversion.h
8+
*_rules
89
*.bz2
910
docs
1011
warn.log

Makefile

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,16 @@
22
.SUFFIXES:
33
#---------------------------------------------------------------------------------
44

5+
ifeq ($(strip $(INSTALL_PREFIX)),)
56
ifeq ($(strip $(DEVKITPRO)),)
67
$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>devkitPro")
78
endif
9+
# Prevent variable expansion so it stays as-is in the installable rules
10+
INSTALL_PREFIX := $$(DEVKITPRO)/libogc2
11+
endif
12+
13+
INCDEST ?= include
14+
LIBDEST ?= lib
815

916
ifeq ($(strip $(DEVKITPPC)),)
1017
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
@@ -228,6 +235,16 @@ gc/ogc/libversion.h : $(CURFILE)
228235
@echo >> $@
229236
@echo "#endif // __OGC_LIBVERSION_H__" >> $@
230237

238+
#---------------------------------------------------------------------------------
239+
RULES := wii_rules gamecube_rules
240+
%_rules: $(BASEDIR)/%_rules.in
241+
#---------------------------------------------------------------------------------
242+
@sed \
243+
-e "s|@PREFIX@|\$(INSTALL_PREFIX)|g" \
244+
-e "s|@INCDIR@|$(INCDEST)|g" \
245+
-e "s|@LIBDIR@|$(LIBDEST)|g" \
246+
$< > $@
247+
231248
#---------------------------------------------------------------------------------
232249
asndlib.o: asnd_dsp_mixer.h
233250
#---------------------------------------------------------------------------------
@@ -299,27 +316,31 @@ install-headers: gc/ogc/libversion.h
299316
@cp $(BASEDIR)/gc/wiikeyboard/*.h $(INCDIR)/wiikeyboard
300317

301318
#---------------------------------------------------------------------------------
302-
install: $(PLATFORMS) install-headers
319+
install: $(PLATFORMS) $(RULES) install-headers
303320
#---------------------------------------------------------------------------------
304-
@mkdir -p $(DESTDIR)$(DEVKITPRO)/libogc2
305-
@cp -frv include $(DESTDIR)$(DEVKITPRO)/libogc2
306-
@cp -frv lib $(DESTDIR)$(DEVKITPRO)/libogc2
307-
@cp -frv $(BASEDIR)/libogc_license.txt $(DESTDIR)$(DEVKITPRO)/libogc2
308-
@cp -frv $(BASEDIR)/gamecube_rules $(BASEDIR)/wii_rules $(DESTDIR)$(DEVKITPRO)/libogc2
321+
@$(eval INSTALL_PREFIX := $(INSTALL_PREFIX)) # Expand
322+
@mkdir -p $(DESTDIR)$(INSTALL_PREFIX)
323+
@mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/$(INCDEST)
324+
@cp -frv include/* -t $(DESTDIR)$(INSTALL_PREFIX)/$(INCDEST)
325+
@mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/$(LIBDEST)
326+
@cp -frv lib/* -t $(DESTDIR)$(INSTALL_PREFIX)/$(LIBDEST)
327+
@cp -frv $(BASEDIR)/libogc_license.txt $(DESTDIR)$(INSTALL_PREFIX)
328+
@cp -frv $(RULES) $(DESTDIR)$(INSTALL_PREFIX)
309329

310330
#---------------------------------------------------------------------------------
311331
uninstall:
312332
#---------------------------------------------------------------------------------
313-
@rm -frv $(DESTDIR)$(DEVKITPRO)/libogc2
333+
@$(eval INSTALL_PREFIX := $(INSTALL_PREFIX)) # Expand
334+
@rm -frv $(DESTDIR)$(INSTALL_PREFIX)
314335

315336
#---------------------------------------------------------------------------------
316-
dist: $(PLATFORMS) install-headers
337+
dist: $(PLATFORMS) $(RULES) install-headers
317338
#---------------------------------------------------------------------------------
318339
@tar -C $(BASEDIR) --exclude-vcs --exclude-vcs-ignores --exclude .github \
319340
-cvjf $(BUILDDIR)/libogc2-src-$(VERSTRING).tar.bz2 .
320341

321-
@cp $(BASEDIR)/libogc_license.txt $(BASEDIR)/gamecube_rules $(BASEDIR)/wii_rules .
322-
@tar -cvjf libogc2-$(VERSTRING).tar.bz2 include lib libogc_license.txt gamecube_rules wii_rules
342+
@cp $(BASEDIR)/libogc_license.txt .
343+
@tar -cvjf libogc2-$(VERSTRING).tar.bz2 include lib libogc_license.txt $(RULES)
323344

324345

325346
ifeq ($(strip $(LIBRARIES)),)
@@ -342,6 +363,7 @@ clean:
342363
#---------------------------------------------------------------------------------
343364
rm -fr wii cube
344365
rm -fr gc/ogc/libversion.h
366+
rm -fr $(RULES)
345367
rm -fr $(DEPS)
346368
rm -fr $(LIBS)
347369
rm -fr $(INCDIR)

gamecube_rules renamed to gamecube_rules.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ PORTLIBS := $(PORTLIBS_PATH)/gamecube $(PORTLIBS_PATH)/ppc
88

99
export PATH := $(PORTLIBS_PATH)/gamecube/bin:$(PORTLIBS_PATH)/ppc/bin:$(PATH)
1010

11-
export LIBOGC_INC := $(DEVKITPRO)/libogc2/include
12-
export LIBOGC_LIB := $(DEVKITPRO)/libogc2/lib/cube
11+
export LIBOGC_INC := @PREFIX@/@INCDIR@
12+
export LIBOGC_LIB := @PREFIX@/@LIBDIR@/cube
1313

1414

1515
MACHDEP = -DGEKKO -mogc -mcpu=750 -meabi -mhard-float

wii_rules renamed to wii_rules.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ PORTLIBS := $(PORTLIBS_PATH)/wii $(PORTLIBS_PATH)/ppc
88

99
export PATH := $(PORTLIBS_PATH)/wii/bin:$(PORTLIBS_PATH)/ppc/bin:$(PATH)
1010

11-
export LIBOGC_INC := $(DEVKITPRO)/libogc2/include
12-
export LIBOGC_LIB := $(DEVKITPRO)/libogc2/lib/wii
11+
export LIBOGC_INC := @PREFIX@/@INCDIR@
12+
export LIBOGC_LIB := @PREFIX@/@LIBDIR@/wii
1313

1414
MACHDEP = -DGEKKO -mrvl -mcpu=750 -meabi -mhard-float
1515

0 commit comments

Comments
 (0)