Document how to write a Makefile

RESOLVED FIXED in Future

Status

SeaMonkey
Build Config
P4
enhancement
RESOLVED FIXED
19 years ago
11 months ago

People

(Reporter: will_sargent@yahoo.com, Assigned: Daniel (Leaf) Nunes)

Tracking

Trunk
Future
x86
Windows 98

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

19 years ago
With some help by Chris Waterson, I've managed to cobble together some files I
think might actually compile.  But I have no idea how to get them to compile.

How do you build a component dll outside of mozilla?  I understand from Chris's
docs that I need to build a factory with a hook to the datasource CID, then call
the datasource from the factory.  I just don't have the documentation which
would tell me what to change.

Do I change the MODULE?  What is the module?  What does the library name do?
What are the LCFLAGS?

Anyway, the bug is that you have to know the build system as well as the code to
actually build anything, and I'm not confident I know what I'm doing without
docs.

DEPTH=..\..\..
MODULE=rdf
LIBRARY_NAME=rdfdatasource_s

LCFLAGS=-DMOZ_BRPROF

CPP_OBJS=\
        .\$(OBJDIR)\nsFileSystemDataSource.obj  \
        .\$(OBJDIR)\nsFindDataSource.obj        \
        .\$(OBJDIR)\nsFTPDataSource.obj         \
        .\$(OBJDIR)\nsLocalStore.obj            \
        .\$(OBJDIR)\nsSearchDataSource.obj      \
        .\$(OBJDIR)\nsXULContentSink.obj        \
	$(NULL)

# XXX Note the dependency on $(DEPTH)\rdf\base\src: we use rdfutil.h over
# in this library: this'll go away once we formalize utilities into an
# "real live" XPCOM interface.

LINCS=  -I$(DEPTH)\rdf\base\src         \
        -I$(DEPTH)\rdf\content\src      \
        $(NULL)

include <$(DEPTH)\config\rules.mak>

libs:: $(LIBRARY)
        $(MAKE_INSTALL) $(LIBRARY) $(DIST)\lib

clobber::
        rm -f $(DIST)\lib\$(LIBRARY_NAME).lib

Updated

19 years ago
Assignee: briano → leaf

Comment 1

19 years ago
MODULE refers to the name of the final dll, so MODULE=rdf -> rdf.dll

LIBRARY_NAME refers to the name of a static library which optionally produced.
LIBRARY_NAME=foo -> foo.lib

LCFLAGS stands for 'local c-flags' that apply only to this makefile.

On not having docs: we're accepting patches. Traditionally (and I don't say that
it's a good tradition) there have been no docs or consistancy in the win32 build
system, other than the occasional purge every three years. People just copy and
paste and random stuff until it builds, then leaves it alone.
(Assignee)

Updated

19 years ago
Status: NEW → ASSIGNED
Summary: No documentation on Win32 build system → Incomplete documentation on Win32 build system
(Assignee)

Comment 2

19 years ago
The summary was a bit harsh... i mean there is *some* documentation.
I'll try getting this fixed before the M9 release crunch hits.
(Assignee)

Comment 3

18 years ago
Obviously, i missed m9. I probably won't have time for a while to get to docs on
``how to write a windows makefile,'' but i think there should be some.

So i'll leave this open, and assigned to me.
Severity: normal → enhancement

Comment 4

18 years ago
mass re-assign of all bugs where i was listed as the qa contact
QA Contact: cyeh → chofmann

Updated

17 years ago
Priority: P3 → P4
QA Contact: chofmann → granrose
Summary: Incomplete documentation on Win32 build system → Document how to write a win32 Makefile
Target Milestone: --- → Future
Looks like this can be resolved fixed. The build system is moving to gmake.
s/fixed/wontfix

Comment 7

16 years ago
bug cleanup - all leaf's bugzilla bugs should be assigned to leaf@mozilla.org
(not leaf@netscape.com), now and any future bugs created.

this should be a one time change, apologies for the spam.
Assignee: leaf → leaf
Status: ASSIGNED → NEW
On second thought - it wouldn't hurt to write something like this for the gmake
builds if it doesn't exist already.
(Assignee)

Comment 9

15 years ago
updating summary, accepting.
Status: NEW → ASSIGNED
Summary: Document how to write a win32 Makefile → Document how to write a Makefile
Is this bug fixed with http://www.mozilla.org/build/build-system.html ?
yeah!
Status: ASSIGNED → RESOLVED
Last Resolved: 15 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.