[libimdb-commit] CVS: libimdb Makefile,1.1,1.2 TODO,1.5,1.6 constants.mk,1.2,1.3 rules.mk,1.1,1.2
Status: Pre-Alpha
Brought to you by:
jveldhuis
|
From: Jerry V. <jve...@us...> - 2003-09-11 15:19:25
|
Update of /cvsroot/libimdb/libimdb In directory sc8-pr-cvs1:/tmp/cvs-serv21374 Modified Files: Makefile TODO constants.mk rules.mk Log Message: new slimmer build env Index: Makefile =================================================================== RCS file: /cvsroot/libimdb/libimdb/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile 16 Jun 2003 04:18:37 -0000 1.1 --- Makefile 11 Sep 2003 15:19:11 -0000 1.2 *************** *** 26,34 **** config\ config.mk: Makefile ! @echo "creating config.mk..." ! @(echo "PROJECT_TOP=`pwd`";\ ! echo "JAVA_COMPILER=SUNJava14" ;\ ! echo "JAVA_RUNTIME=SUNJava14" ;\ ! echo "JAVADOC_RUNTIME=SUNJava14" ;\ ! echo "RT_JAR=SUNJava14" ;\ ! ) > config.mk --- 26,29 ---- config\ config.mk: Makefile ! echo "creating config.mk..." ! echo "PROJECT_TOP=`pwd`" > config.mk Index: TODO =================================================================== RCS file: /cvsroot/libimdb/libimdb/TODO,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** TODO 28 Aug 2003 15:25:00 -0000 1.5 --- TODO 11 Sep 2003 15:19:11 -0000 1.6 *************** *** 7,12 **** Short list to get things out. - build env clean up ! - not sure what this means right now. - how easy is it to nuke sysincludes.h ? - jlog - put in mpatrol entry points to control on/off jlog --- 7,13 ---- Short list to get things out. + - configure - build env clean up ! - not sure what this means anymore. - how easy is it to nuke sysincludes.h ? - jlog - put in mpatrol entry points to control on/off jlog Index: constants.mk =================================================================== RCS file: /cvsroot/libimdb/libimdb/constants.mk,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** constants.mk 21 Aug 2003 20:34:42 -0000 1.2 --- constants.mk 11 Sep 2003 15:19:11 -0000 1.3 *************** *** 4,16 **** # # Required re-defined variables # PROJECT_TOP - # JAVA_COMPILER (see comments below) - # JAVA_RUNTIME (see comments below) - # JAVADOC_RUNTIME (see comments below) # - COMPILE_BIN=$(PROJECT_TOP)/bin - HOST_DETAILED_ARCH := $(shell uname -m) HOST_DETAILED_OS := $(shell uname -sr | sed 's/ /-/') --- 4,32 ---- # + # The build system is really built AROUND the contents of this file. + # Instead of trying to support every version of every platform.. the + # definitions here are built to identify the os platform, then hard + # code the locations of all useful utilities to get the job done. + # + # Basically, its built to support my systems and my configuration, + # without making it too hard for someone else with a similar system + # to get things to build. + # + # I'm currently it supports CYGWIN 5.0 under Windows 2000 Pro, + # and RedHat 9 (ala Linux 2.4.20-8)... although most of this should + # easily work under other flavours. + # + # Extra non-out-of-the-box bits are minimized, but do include: + # - SWIG Vrsion 1.3.19 (from www.swig.org) - optional + # - mpatrol 1.3.8 (from http://www.cbmamiga.demon.co.uk/mpatrol/index.html) - optional + # - java sdk 1.4.x (from http://java.sun.com) installed in or linked to + # /usr/java/j2sdk1.4. OR set JAVA_HOME in your environment. + # + + # # Required re-defined variables # PROJECT_TOP # HOST_DETAILED_ARCH := $(shell uname -m) HOST_DETAILED_OS := $(shell uname -sr | sed 's/ /-/') *************** *** 42,48 **** HOST_OS_VERSION := $(shell $(__HOST_OS_VERSION__)) - # backward compatibility - OS=$(HOST_OS) - # # BUILD_ARCH / _OS and _PLATFORM --- 58,61 ---- *************** *** 106,113 **** AWK = $(AWK_$(BUILD_OS)) - BISON_CYGWIN := /bin/bison - BISON_LINUX := /usr/bin/bison - BISON = $(BISON_$(BUILD_OS)) - CHMOD_CYGWIN := /bin/chmod CHMOD_LINUX := /bin/chmod --- 119,122 ---- *************** *** 230,238 **** CFLAGS_gcc_TARGET_MINGW :=-mno-cygwin - # this doens't work if you have empty defines :) - #ifeq "$(CFLAGS_$(CC_COMPILER))" "undef" - # $(error CFLAGS_$(CC_COMPILER)) was left undefined, fix constants.mk) - #endif - CFLAGS_DYNAMIC := $(CFLAGS_FPIC) CFLAGS_STATIC := --- 239,242 ---- *************** *** 490,495 **** TEST = $(TEST_$(BUILD_OS)) ! DOXYGEN_CYGWIN := ! DOXYGEN_LINUX :=/usr/bin/doxygen DOXYGEN = $(DOXYGEN_$(BUILD_OS)) --- 494,499 ---- TEST = $(TEST_$(BUILD_OS)) ! DOXYGEN_CYGWIN := ! DOXYGEN_LINUX :=/usr/bin/doxygen DOXYGEN = $(DOXYGEN_$(BUILD_OS)) *************** *** 498,561 **** # - # for convience we define the install path for sun javac - SUNJava14_HOME_CYGWIN :=c:/j2sdk1.4 - SUNJava14_HOME_LINUX :=/usr/java/j2sdk1.4 - SUNJava14_HOME :=$(SUNJava14_HOME_$(BUILD_OS)) - - # JAVAC - # - requires JAVA_COMPILER be one of: - # SUNJava14 - # - ifeq "$(JAVA_COMPILER)" "SUNJava14" - JAVAC_CYGWIN :=$(SUNJava14_HOME)/bin/javac - JAVAC_LINUX :=$(SUNJava14_HOME)/bin/javac - JAVAC =$(JAVAC_$(BUILD_OS)) - endif - - ifeq "$(JAVAC)" "" - $(error JAVAC was left undefined, failed to find JAVA_COMPILER '$(JAVA_COMPILER)') - endif - - # JAVA - # - requires JAVA_RUNTIME be one of: - # SUNJava14 - # - ifeq "$(JAVA_RUNTIME)" "SUNJava14" - JAVA_CYGWIN :=$(SUNJava14_HOME)/bin/java - JAVA_LINUX :=$(SUNJava14_HOME)/bin/java - JAVA =$(JAVA_$(BUILD_OS)) - endif - - ifeq "$(JAVA)" "" - $(error JAVA was left undefined, failed to find JAVA_RUNTIME '$(JAVA_RUNTIME)') - endif - - # JAVADOC - # - requires JAVADOC_RUNTIME be one of: - # SUNJava14 # ! ifeq "$(JAVADOC_RUNTIME)" "SUNJava14" ! JAVADOC_CYGWIN :=$(SUNJava14_HOME)/bin/javadoc ! JAVADOC_LINUX :=$(SUNJava14_HOME)/bin/javadoc ! JAVADOC =$(JAVADOC_$(BUILD_OS)) ! endif ! ! ifeq "$(JAVADOC)" "" ! $(error JAVADOC was left undefined, failed to find JAVADOC_RUNTIME '$(JAVADOC_RUNTIME)') ! endif ! ! # JAR ! # - requires JAR_RUNTIME be one of: ! # SUNJava14 # ! ifeq "$(JAR_RUNTIME)" "SUNJava14" ! JAR_CYGWIN :=$(SUNJava14_HOME)/bin/jar ! JAR_LINUX :=$(SUNJava14_HOME)/bin/jar ! JAR =$(JAR_$(BUILD_OS)) ! endif ! ifeq "$(JAR)" "" ! $(error JAR was left undefined, failed to find JAR_RUNTIME '$(JAR_RUNTIME)') ! endif # RT_JAR --- 502,517 ---- # # ! # for convience we define the install path for sun javac # ! JAVA_HOME_CYGWIN :=c:/j2sdk1.4 ! JAVA_HOME_LINUX :=/usr/java/j2sdk1.4 ! JAVA_HOME =$(JAVA_HOME_$(BUILD_OS)) ! # JAVAC, JAVA, JAVADOC and JAR cmd paths ! JAVAC =$(JAVA_HOME)/bin/javac ! JAVA =$(JAVA_HOME)/bin/java ! JAVADOC =$(JAVA_HOME)/bin/javadoc ! JAR =$(JAVA_HOME)/bin/jar # RT_JAR *************** *** 564,584 **** # # JNI_INCLUDE ! # - used for swig projects building jni interfaces ! # ! ifeq "$(RT_JAR)" "SUNJava14" ! RT_JAR_HOME_CYGWIN :=$(SUNJava14_HOME) ! RT_JAR_HOME_LINUX :=$(SUNJava14_HOME) ! RT_JAR_HOME =$(RT_JAR_HOME_$(BUILD_OS)) ! ! JNI_INCLUDE_DIR :=$(SUNJava14_HOME)/include ! endif ! ! ifeq "$(RT_JAR_HOME)" "" ! $(error RT_JAR_HOME was left undefined, failed to find RT_JAR '$(RT_JAR)') ! endif ! ! ifeq "$(JNI_INCLUDE_DIR)" "" ! $(error JNI_INCLUDE_DIR was left undefined, check RT_JAR '$(RT_JAR)' defines) ! endif JNI_CPPFLAGS_CYGWIN :=-I$(JNI_INCLUDE_DIR)/win32 --- 520,524 ---- # # JNI_INCLUDE ! JNI_INCLUDE_DIR :=$(JAVA_HOME)/include JNI_CPPFLAGS_CYGWIN :=-I$(JNI_INCLUDE_DIR)/win32 *************** *** 589,595 **** # # swap -O for -g for optimized JAVAC_FLAGS_SUNJava14 :=-deprecation -encoding iso-8859-1 -source 1.4 -target 1.4 -g:none -g ! JAVAC_FLAGS =$(JAVAC_FLAGS_$(JAVA_COMPILER)) JAVAC_CLASSPATH:= --- 529,537 ---- # # swap -O for -g for optimized + # for future reference, we split these based on what compiler we think + # we're using. JAVAC_FLAGS_SUNJava14 :=-deprecation -encoding iso-8859-1 -source 1.4 -target 1.4 -g:none -g ! JAVAC_FLAGS =$(JAVAC_FLAGS_SUNJava14) JAVAC_CLASSPATH:= *************** *** 600,612 **** JAVA_FLAGS =-DPROJECT_TOP=$(PROJECT_TOP) - # Now add the remaining stuff - JAVA_CLASSPATH +=$(JAR_CLASSPATH) - # path to java sources ! JAVA_SRCS_SOURCEPATH_CYGWIN :=$(RT_JAR_HOME)/src ! JAVA_SRCS_SOURCEPATH_LINUX :=$(RT_JAR_HOME)/src ! JAVA_SRCS_SOURCEPATH :=$(JAVA_SRCS_SOURCEPATH_$(BUILD_OS)) ! JAVADOC_FLAGS_14 := -link http://java.sun.com/j2se/1.4.1/docs/api JAVADOC_FLAGS = -use -private -splitIndex -version \ --- 542,549 ---- JAVA_FLAGS =-DPROJECT_TOP=$(PROJECT_TOP) # path to java sources ! JAVA_SRCS_SOURCEPATH :=$(JAVA_HOME)/src ! JAVADOC_FLAGS_SUNJava14 := -link http://java.sun.com/j2se/1.4.1/docs/api JAVADOC_FLAGS = -use -private -splitIndex -version \ *************** *** 615,619 **** -header 'Project libimdb API' \ -bottom 'Project libimdb API' \ ! $(JAVADOC_FLAGS_$(JAVA_COMPILER)) JAVADOC_SOURCEPATH =. --- 552,556 ---- -header 'Project libimdb API' \ -bottom 'Project libimdb API' \ ! $(JAVADOC_FLAGS_SUNJava14) JAVADOC_SOURCEPATH =. *************** *** 678,690 **** SRCS.JAVA=$(wildcard *.java) - SRCS.PERLSWIG=$(wildcard *.perlswig) - SRCS.JAVASWIG=$(wildcard *.javaswig) - SRCS.JAVASWIGXX=$(wildcard *.javaswigxx) - GENERATED_SRCS =$(patsubst %.l, gen_$(BUILD_OS)/%.c, $(SRCS.L)) \ ! $(patsubst %.y, gen_$(BUILD_OS)/%.c, $(SRCS.Y)) \ ! $(patsubst %.perlswig, gen_$(BUILD_OS)/%_swig.c, $(SRCS.PERLSWIG)) \ ! $(patsubst %.javaswig, gen_$(BUILD_OS)/%_swig.c, $(SRCS.JAVASWIG)) \ ! $(patsubst %.javaswigxx, gen_$(BUILD_OS)/%_swig.cpp, $(SRCS.JAVASWIGXX)) GENERATED_HDRS =$(patsubst %.y, gen_$(BUILD_OS)/%.h, $(SRCS.Y)) --- 615,620 ---- SRCS.JAVA=$(wildcard *.java) GENERATED_SRCS =$(patsubst %.l, gen_$(BUILD_OS)/%.c, $(SRCS.L)) \ ! $(patsubst %.y, gen_$(BUILD_OS)/%.c, $(SRCS.Y)) GENERATED_HDRS =$(patsubst %.y, gen_$(BUILD_OS)/%.h, $(SRCS.Y)) *************** *** 696,705 **** # (specifically, no generated files in the source directory), then # we can remove the tr and sort -u. ! #DEFAULT_SRCS = $(shell echo $(wildcard *.c *.cc) $(GENERATED_SRCS) | tr -s ' ' '\012' | $(SORT) -u) ! DEFAULT_SRCS =$(wildcard *.c *.cc *.cpp) $(GENERATED_SRCS) # # get list of srcs we want ! SRCS =$(DEFAULT_SRCS) # we need the notdir to remove the gen_$(BUILD_OS) portion from the --- 626,634 ---- # (specifically, no generated files in the source directory), then # we can remove the tr and sort -u. ! SRCS_TO_COMPILE =$(SRCS.C) $(SRCS.CC) $(GENERATED_SRCS) # # get list of srcs we want ! SRCS=$(SRCS_TO_COMPILE) # we need the notdir to remove the gen_$(BUILD_OS) portion from the Index: rules.mk =================================================================== RCS file: /cvsroot/libimdb/libimdb/rules.mk,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** rules.mk 16 Jun 2003 04:18:37 -0000 1.1 --- rules.mk 11 Sep 2003 15:19:11 -0000 1.2 *************** *** 18,32 **** endif $(RM) -rf $(BUILD_CFG) gen_$(BUILD_OS) ! oldclobber: ! ! depend:: ! $(RM) -f $(DEPEND_FILE) $(DEPEND_FILE)-* install: build - playpen:: - @true - ifeq "$(BUILDING_DYNAMIC)-$(OBJS_TYPE)" "false-DYNAMIC" objs:; @$(ECHO) NOT building dynamic objs --- 18,27 ---- endif $(RM) -rf $(BUILD_CFG) gen_$(BUILD_OS) + $(RM) -f $(DEPEND_FILE) ! depend:: $(DEPEND_FILE) install: build ifeq "$(BUILDING_DYNAMIC)-$(OBJS_TYPE)" "false-DYNAMIC" objs:; @$(ECHO) NOT building dynamic objs *************** *** 38,45 **** @[ -d $(@D) ] || $(MKPATH) $(@D) @$(ECHO) "generating $@.." ! ifeq ($(strip $(DEFAULT_SRCS)),) $(TOUCH) $@ else ! @for f in X $(DEFAULT_SRCS); do \ [ "$$f" = X ] && continue; \ case $$f in \ --- 33,40 ---- @[ -d $(@D) ] || $(MKPATH) $(@D) @$(ECHO) "generating $@.." ! ifeq ($(strip $(SRCS_TO_COMPILE)),) $(TOUCH) $@ else ! @for f in X $(SRCS_TO_COMPILE); do \ [ "$$f" = X ] && continue; \ case $$f in \ *************** *** 51,55 **** done | $(SED) -e 's/\.o:/\.$(O):/' -e '/^[^ ]/s,^,$$(OBJS_DIR)/,' > $@ endif - @[ "$(SRCS.SWIG)" = "" ] || $(PERL) $(COMPILE_BIN)/swigdepend.pl $(CPPFLAGS) $(SRCS.SWIG) >> $@ ifdef PROGRAM --- 46,49 ---- *************** *** 108,168 **** endif - # - # generate wrapper for JAVA runtime for non-make usage - # - $(PROJECT_TOP)/gen/runjava: $(PROJECT_TOP)/constants.mk $(PROJECT_TOP)/config.mk $(PROJECT_TOP)/rules.mk - @$(ECHO) "generating $@.." - @[ -d $(@D) ] || $(MKPATH) $(@D) - @$(ECHO) '$(JAVA) $(JAVA_FLAGS) -classpath "$(subst $(space),$(CLASSPATH_SEP),$(strip $(JAVASRCS_CLASSES_DEST) $(JAVA_CLASSPATH)) $(ALL_3RD_PARTY_JARS) $$CLASSPATH)" "$$@"' > $@ - @$(CHMOD) +x $@ - - # - # generate something useful for java classes like EtherProgram to parse - # and understand how to invoke a controlable (ha) jvm child process - # - # - $(PROJECT_TOP)/gen/jvm.config: $(PROJECT_TOP)/constants.mk $(PROJECT_TOP)/config.mk $(PROJECT_TOP)/rules.mk - @$(ECHO) "generating $@.." - @[ -d $(@D) ] || $(MKPATH) $(@D) - @($(ECHO) "# This file is provided for java classes who";\ - $(ECHO) "# want to invoke a controlable (ha) jvm child process";\ - $(ECHO) "# access to the JAVAC command line that otherwise only" ;\ - $(ECHO) "# Warning:format is compatible with CmdLine class, not shell usage";\ - $(ECHO) "JDB_PATHNAME $(JDB)";\ - $(ECHO) "JDB_STANDARD_FLAGS $(JDB_FLAGS)";\ - $(ECHO) "JVM_PATHNAME $(JAVA)";\ - $(ECHO) "JVM_STANDARD_FLAGS $(JAVA_FLAGS)";\ - $(ECHO) "JVM_STANDARD_CLASSPATH $(subst $(space),$(CLASSPATH_SEP),$(strip $(JAVASRCS_CLASSES_DEST) $(JAVA_CLASSPATH)) $$CLASSPATH)" )> $@ - @$(CHMOD) +r $@ - - # - # generate wrapper for JAVAC runtime for non-make usage - # see comments for more details - # - $(PROJECT_TOP)/gen/runjavac: $(PROJECT_TOP)/constants.mk $(PROJECT_TOP)/config.mk $(PROJECT_TOP)/rules.mk - @$(ECHO) "generating $@.." - @[ -d $(@D) ] || $(MKPATH) $(@D) - @($(ECHO) "# This script is generated during a 'make' to provide" ;\ - $(ECHO) "# access to the JAVAC command line that otherwise only" ;\ - $(ECHO) "# make' would have acess to." ;\ - $(ECHO) "# " ;\ - $(ECHO) "# Typical usage include providing a '-d <dir>' and a" ;\ - $(ECHO) "# list of classes to compile, but not required." ;\ - $(ECHO) '$(JAVAC) $(JAVAC_FLAGS) -sourcepath . -classpath "$(subst $(space),$(CLASSPATH_SEP),$(strip $(JAVASRCS_CLASSES_DEST) $(JAVAC_CLASSPATH)) $$CLASSPATH)" "$$@"' ) > $@ - @$(CHMOD) +x $@ - - # - # generate wrapper for PERL runtime for non-make usage - # - $(PROJECT_TOP)/gen/runperl: $(PROJECT_TOP)/constants.mk $(PROJECT_TOP)/config.mk $(PROJECT_TOP)/rules.mk - @$(ECHO) "generating $@.." - @[ -d $(@D) ] || $(MKPATH) $(@D) - @($(ECHO) "# This script is generated during a 'make' to provide" ;\ - $(ECHO) "# an easy way to invoke the perl run-time as defined in constants.mk" ;\ - $(ECHO) "# without all having to use make to get things done." ;\ - $(ECHO) "# " ;\ - $(ECHO) '$(PERL) -I$(PROJECT_TOP)/lib/perl "$$@"') > $@ - @$(CHMOD) +x $@ - $(OBJS_DIR)/%.$(O): gen_$(BUILD_OS)/%.c @[ -d $(@D) ] || $(MKPATH) $(@D) --- 102,105 ---- *************** *** 180,195 **** @[ -d $(@D) ] || $(MKPATH) $(@D) $(CXX) -c $(CCFLAGS) $(CPPFLAGS) -o $@ $< - - # - # Generated sources: - # - gen_$(BUILD_OS)/%.c \ - gen_$(BUILD_OS)/%.h: %.y - @[ -d $(@D) ] || $(MKDIR) $(@D) - $(BISON) -d -o gen_$(BUILD_OS)/$*.c $< - - gen_$(BUILD_OS)/%.c: %.l - @[ -d $(@D) ] || $(MKDIR) $(@D) - $(LEX) $(LEXFLAGS) $< > $@ ifdef INCLUDE_DEPENDENCIES --- 117,120 ---- |