1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-02-22 23:35:46 +01:00

More manifest restructuring with Makefile rules to simplify the process.

This commit is contained in:
Kris Maglione
2011-09-29 01:57:05 -04:00
parent befa2fa054
commit 6a433c69e3
2 changed files with 25 additions and 5 deletions

View File

@@ -4,9 +4,12 @@ GECKO_MINOR ?= 0
ABI_OS := $(shell uname -s) ABI_OS := $(shell uname -s)
ABI_ARCH := $(shell uname -m) ABI_ARCH := $(shell uname -m)
ABI_COMPILER := gcc3 ABI_COMPILER := gcc3
ABI ?= $(GECKO_MAJOR).$(GECKO_MINOR)-$(ABI_OS)_$(ABI_ARCH)-$(ABI_COMPILER) ABI_PLATFORM ?= $(ABI_OS)_$(ABI_ARCH)-$(ABI_COMPILER)
ABI ?= $(GECKO_MAJOR).$(GECKO_MINOR)-$(ABI_PLATFORM)
DEFINES = -DGECKO_MAJOR=$(GECKO_MAJOR) -DGECKO_MINOR=$(GECKO_MINOR) DEFINES = -DGECKO_MAJOR=$(GECKO_MAJOR) -DGECKO_MINOR=$(GECKO_MINOR)
LIBEXT ?= so
SED := $(shell if [ "xoo" = x$$(echo foo | sed -E 's/f(o)/\1/' 2>/dev/null) ]; \ SED := $(shell if [ "xoo" = x$$(echo foo | sed -E 's/f(o)/\1/' 2>/dev/null) ]; \
then echo sed -E; else echo sed -r; \ then echo sed -E; else echo sed -r; \
fi) fi)

View File

@@ -17,6 +17,12 @@ CPPSRCS = \
subscriptLoader.cpp \ subscriptLoader.cpp \
$(NULL) $(NULL)
HEADERS = \
config.h \
dactylUtils.h \
mozJSLoaderUtils.h \
$(XPIDLSRCS:%.idl=$(ABI)/%.h)
GECKO_DEFINES = -DMOZILLA_STRICT_API GECKO_DEFINES = -DMOZILLA_STRICT_API
GECKO_INCLUDES = -I$(ABI)/ \ GECKO_INCLUDES = -I$(ABI)/ \
@@ -43,15 +49,16 @@ CPPFLAGS += $(EXCPPFLAGS)
XPTS = $(XPIDLSRCS:%.idl=$(XPTDIR)%.xpt) XPTS = $(XPIDLSRCS:%.idl=$(XPTDIR)%.xpt)
OBJS = $(CPPSRCS:%.cpp=$(OBJDIR)%.o) OBJS = $(CPPSRCS:%.cpp=$(OBJDIR)%.o)
HEADERS = $(XPIDLSRCS:%.idl=$(ABI)/%.h) MANIFEST = $(SODIR)/components.manifest
all: build manifest
all: build
dirs: $(XPTDIR) $(SODIR) $(OBJDIR) dirs: $(XPTDIR) $(SODIR) $(OBJDIR)
depend: .depend depend: .depend
manifest: $(MANIFEST)
module: dirs $(MODULE).so module: dirs $(MODULE).so
dll: dirs $(MODULE).dll dll: dirs $(MODULE).dll
@@ -72,6 +79,16 @@ $(ABI)/%.h: %.idl
$(XPTDIR)%.xpt: %.idl $(XPTDIR)%.xpt: %.idl
$(IDL_XPT) $@ $(GECKO_INCLUDES) $< $(IDL_XPT) $@ $(GECKO_INCLUDES) $<
$(MANIFEST): Makefile
( echo interfaces $(XPIDLSRCS:.idl=.xpt); \
echo binary-component $(MODULE:$(SODIR)%=%).$(LIBEXT) ) \
>$@
manifest=$(SODIR)/../gecko-$(GECKO_MAJOR).manifest; \
if [ $(GECKO_MAJOR) -lt 8 ]; then part=app; else part=platform; fi; \
line="manifest $(ABI)/components.manifest abi=$(ABI_PLATFORM) $${part}version<$(GECKO_MAJOR).*"; \
grep >/dev/null 2>&1 "^$$line$$" $$manifest || echo $$line >>$$manifest
_CPPFLAGS = $(CPPFLAGS) $(CXXFLAGS) $(GECKO_DEFINES) $(GECKO_INCLUDES) $(DEFINES) _CPPFLAGS = $(CPPFLAGS) $(CXXFLAGS) $(GECKO_DEFINES) $(GECKO_INCLUDES) $(DEFINES)
$(OBJDIR)%.o: %.cpp Makefile $(OBJDIR)%.o: %.cpp Makefile
@@ -89,6 +106,6 @@ $(MODULE).dll: $(OBJS)
$(sort $(XPTDIR) $(SODIR) $(OBJDIR)): $(sort $(XPTDIR) $(SODIR) $(OBJDIR)):
mkdir -p $@ mkdir -p $@
.PHONY: module xpts build clean all depend .PHONY: module xpts build clean all depend manifest
sinclude .depend sinclude .depend