Makefile #10

  • //
  • guest/
  • david_turner/
  • jam/
  • src/
  • Makefile
  • View
  • Commits
  • Open Download .zip Download (2 KB)
# The following Makefile will build Jam on Unix systems
# You can also modify it to compile the program on other
# systems, or also use one of the specific Makefiles
# located in the "builds" directory
#

CC = cc
TARGET = -o jam0
CFLAGS =

# Borland C++ on Windows
#CC = bcc32
#TARGET = -ejam0
#CFLAGS = /DNT -w- -q

# Special flavors - uncomment appropriate lines

# NCR seems to have a broken readdir() -- use gnu
#CC = gcc

# AIX needs -lbsd, and has no identifying cpp symbol
# Use _AIX41 if you're not on 3.2 anymore.
#LINKLIBS = -lbsd
#CFLAGS = -D_AIX

# NT (with Microsoft compiler)
# Use FATFS if building on a DOS FAT file system
#Lib = $(MSVCNT)/lib
#Include = $(MSVCNT)/include
#CC = cl /nologo
#CFLAGS = -I $(Include) -DNT 
#TARGET = /Fejam0
#LINKLIBS = $(Lib)/oldnames.lib $(Lib)/kernel32.lib $(Lib)/libc.lib

# BeOS - Metroworks CodeWarrior
#CC = mwcc
#Include = /NewDisk/develop/headers/posix
#CFLAGS = -I $(Include)

# BeOS - gcc
#CC = gcc
#LINKLIBS = -lnet

# Interix - gcc
#CC = gcc

# Cygwin - gcc & cygwin
#CC = gcc
#CFLAGS = -D__cygwin__

# MingW - gcc on Win32
#
#CC = gcc
#CFLAGS = -DNT

# MPEIX
#CC = gcc
#CFLAGS = -I/usr/include -D_POSIX_SOURCE

# QNX rtp (neutrino)
#CC = gcc

# HP-UX
#
#CFLAGS = -Ae

#
#SOURCES = \
#	command.c compile.c execnt.c execunix.c execvms.c expand.c \
#	filent.c fileos2.c fileunix.c filevms.c glob.c hash.c \
#	hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c \
#	newstr.c option.c parse.c pathunix.c pathvms.c regexp.c \
#	rules.c scan.c search.c subst.c timestamp.c variable.c

# for Unix systems
#
# we need to ensure that "jambase.c" has write permissions, since it is
# going to be re-generated from "Jambase".
#
all: jam0
	chmod a+w jambase.c
	./jam0

# for other systems
#all: jam0
#	jam0

include common.mk

#jam0:
#	$(CC) $(TARGET) $(CFLAGS) $(SOURCES) $(LINKLIBS)
# Change User Description Committed
#10 773 david_turner fixed small typo in comment
#9 772 david_turner added a ChangeLog to keep track of what's going on
(sorry, I just don't trust Perforce enough for now)

updated the Jambase and Makefile to support HP-UX correctly
(for some strange reasons, ftjam fails to build on it without
 the '-Ae' compilation flag)
#8 714 david_turner updated the build system to run correctly on Unix systems
#7 713 david_turner updating the build system, documentation, etc..
for
       the 2.3.5 release
#6 711 david_turner important updates to the Jam build system:   

     - builds easily on Unix systems

    - specific Makefiles for Visual C++ and Borland C++
       in the "builds" directory. More to come..

     - the "jam package" command can be launched once
       the jam executable was generated on Windows and
       OS/2 systems in order to build pre-compiled binary
       packages (simple zip files, no installer))

  added a new built-in named FAIL_EXPECTED. See the
  page http://www.freetype.org/jam/changes.html for
  more details on this..
#5 675 david_turner fixing original Makefile/Jamfile to run on Unix systems
where the current directory isn't in the path
#4 618 david_turner See www.freetype.org/jam/index.html for a detailed list of
changes..

added a new "subst" built-in rule
ANSI-fied mkjambase.c
added gdi32.lib and user32.lib to the default libraries of
the Visual C++ toolset
#3 597 david_turner Adding support for Windows 95/98 through a specific
implementation of the "exec" module, named "execnt.c"
#2 595 david_turner Adding support for the new HDRMACRO builtin.
The latter is used to specify a file containing macro
definitions that are later used in #include statements,
as in:

   #include MYFILE_H

A line like:

  HDRMACRO  mydefs.h ;

will parse the file "mydefs.h" for lines of the form:

#define  MACRO    <.......>   and
#define  MACRO    "......."

and will store their definition in a global dictionary.
When a line like

#include MACRO

is later found during header file processing, the macro
will be resolved accordingly..
#1 591 david_turner This branch contains some improvements made to
       Jam for the FreeType 2 project: