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:
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user