Pārlūkot izejas kodu

+ initial implementation of new fpmake compile tools

git-svn-id: trunk@435 -
michael 20 gadi atpakaļ
vecāks
revīzija
cc4818be26

+ 39 - 0
.gitattributes

@@ -567,6 +567,8 @@ fcl/db/dbase/dbf_str_pt.pas svneol=native#text/plain
 fcl/db/dbase/dbf_str_ru.pas svneol=native#text/plain
 fcl/db/dbase/dbf_struct.inc svneol=native#text/plain
 fcl/db/dbase/dbf_wtil.pas svneol=native#text/plain
+fcl/db/dbase/fpmake.inc svneol=native#text/plain
+fcl/db/dbase/fpmake.pp svneol=native#text/plain
 fcl/db/dbase/history.txt svneol=native#text/plain
 fcl/db/dbase/package.txt svneol=native#text/plain
 fcl/db/dbase/readme.txt svneol=native#text/plain
@@ -578,16 +580,22 @@ fcl/db/ddg_ds.pp svneol=native#text/plain
 fcl/db/ddg_rec.pp svneol=native#text/plain
 fcl/db/dsparams.inc svneol=native#text/plain
 fcl/db/fields.inc svneol=native#text/plain
+fcl/db/fpmake.inc svneol=native#text/plain
+fcl/db/fpmake.pp svneol=native#text/plain
 fcl/db/interbase/BUGS.known -text
 fcl/db/interbase/Makefile -text
 fcl/db/interbase/Makefile.fpc svneol=native#text/plain
 fcl/db/interbase/README -text
+fcl/db/interbase/fpmake.inc svneol=native#text/plain
+fcl/db/interbase/fpmake.pp svneol=native#text/plain
 fcl/db/interbase/interbase.pp svneol=native#text/plain
 fcl/db/interbase/mkdb -text
 fcl/db/interbase/testib.pp svneol=native#text/plain
 fcl/db/memds/Makefile -text
 fcl/db/memds/Makefile.fpc svneol=native#text/plain
 fcl/db/memds/README -text
+fcl/db/memds/fpmake.inc svneol=native#text/plain
+fcl/db/memds/fpmake.pp svneol=native#text/plain
 fcl/db/memds/memds.pp svneol=native#text/plain
 fcl/db/memds/testcp.pp svneol=native#text/plain
 fcl/db/memds/testld.pp svneol=native#text/plain
@@ -595,12 +603,15 @@ fcl/db/memds/testopen.pp svneol=native#text/plain
 fcl/db/memds/testpop.pp svneol=native#text/plain
 fcl/db/mysql/Makefile -text
 fcl/db/mysql/Makefile.fpc svneol=native#text/plain
+fcl/db/mysql/fpmake.inc svneol=native#text/plain
+fcl/db/mysql/fpmake.pp svneol=native#text/plain
 fcl/db/mysql/mtest.pp svneol=native#text/plain
 fcl/db/mysql/mysqldb3.pp svneol=native#text/plain
 fcl/db/mysql/mysqldb4.pp svneol=native#text/plain
 fcl/db/odbc/Makefile -text
 fcl/db/odbc/Makefile.fpc svneol=native#text/plain
 fcl/db/odbc/README -text
+fcl/db/odbc/fpmake.pp svneol=native#text/plain
 fcl/db/odbc/fpodbc.pp svneol=native#text/plain
 fcl/db/odbc/testbcon.pp svneol=native#text/plain
 fcl/db/odbc/testcon.pp svneol=native#text/plain
@@ -618,19 +629,29 @@ fcl/db/sdf/Makefile -text
 fcl/db/sdf/Makefile.fpc svneol=native#text/plain
 fcl/db/sdf/fpc.ssx -text
 fcl/db/sdf/fpc.ssy -text
+fcl/db/sdf/fpmake.inc svneol=native#text/plain
+fcl/db/sdf/fpmake.pp svneol=native#text/plain
 fcl/db/sdf/sdfdata.pp svneol=native#text/plain
 fcl/db/sdf/testfix.pp svneol=native#text/plain
 fcl/db/sdf/testsdf.pp svneol=native#text/plain
 fcl/db/sqldb/Makefile -text
 fcl/db/sqldb/Makefile.fpc svneol=native#text/plain
+fcl/db/sqldb/fpmake.inc svneol=native#text/plain
+fcl/db/sqldb/fpmake.pp svneol=native#text/plain
 fcl/db/sqldb/interbase/Makefile -text
 fcl/db/sqldb/interbase/Makefile.fpc svneol=native#text/plain
+fcl/db/sqldb/interbase/fpmake.inc svneol=native#text/plain
+fcl/db/sqldb/interbase/fpmake.pp svneol=native#text/plain
 fcl/db/sqldb/interbase/ibconnection.pp svneol=native#text/plain
 fcl/db/sqldb/mysql/Makefile -text
 fcl/db/sqldb/mysql/Makefile.fpc svneol=native#text/plain
+fcl/db/sqldb/mysql/fpmake.inc svneol=native#text/plain
+fcl/db/sqldb/mysql/fpmake.pp svneol=native#text/plain
 fcl/db/sqldb/mysql/mysql4conn.pas svneol=native#text/plain
 fcl/db/sqldb/postgres/Makefile -text
 fcl/db/sqldb/postgres/Makefile.fpc svneol=native#text/plain
+fcl/db/sqldb/postgres/fpmake.inc svneol=native#text/plain
+fcl/db/sqldb/postgres/fpmake.pp svneol=native#text/plain
 fcl/db/sqldb/postgres/pqconnection.pp svneol=native#text/plain
 fcl/db/sqldb/sqldb.pp svneol=native#text/plain
 fcl/db/sqldb/testsqldb.pp svneol=native#text/plain
@@ -640,12 +661,15 @@ fcl/db/sqlite/browseds.pas svneol=native#text/plain
 fcl/db/sqlite/concurrencyds.pas svneol=native#text/plain
 fcl/db/sqlite/createds.pas svneol=native#text/plain
 fcl/db/sqlite/fillds.pas svneol=native#text/plain
+fcl/db/sqlite/fpmake.inc svneol=native#text/plain
+fcl/db/sqlite/fpmake.pp svneol=native#text/plain
 fcl/db/sqlite/sqlitedataset.pas svneol=native#text/plain
 fcl/db/sqlite/sqliteds.pas svneol=native#text/plain
 fcl/db/sqlite/testds.pas svneol=native#text/plain
 fcl/db/tests/Makefile -text
 fcl/db/tests/Makefile.fpc svneol=native#text/plain
 fcl/db/tests/createds.pp svneol=native#text/plain
+fcl/db/tests/fpmake.pp svneol=native#text/plain
 fcl/db/tests/testds.pp svneol=native#text/plain
 fcl/db/tests/tested.pp svneol=native#text/plain
 fcl/fpcunit/Makefile -text
@@ -660,6 +684,8 @@ fcl/fpcunit/exampletests/money.pp svneol=native#text/plain
 fcl/fpcunit/exampletests/moneytest.pp svneol=native#text/plain
 fcl/fpcunit/exampletests/testmockobject.pp svneol=native#text/plain
 fcl/fpcunit/fpcunit.pp svneol=native#text/plain
+fcl/fpcunit/fpmake.inc svneol=native#text/plain
+fcl/fpcunit/fpmake.pp svneol=native#text/plain
 fcl/fpcunit/testdecorator.pp svneol=native#text/plain
 fcl/fpcunit/testregistry.pp svneol=native#text/plain
 fcl/fpcunit/testreport.pp svneol=native#text/plain
@@ -670,6 +696,7 @@ fcl/fpcunit/tests/frameworktest.pp svneol=native#text/plain
 fcl/fpcunit/tests/suitetest.pp svneol=native#text/plain
 fcl/fpcunit/testutils.pp svneol=native#text/plain
 fcl/fpcunit/ubmockobject.pp svneol=native#text/plain
+fcl/fpmake.pp svneol=native#text/plain
 fcl/freebsd/syncobjs.pp svneol=native#text/plain
 fcl/go32v2/custapp.inc svneol=native#text/plain
 fcl/go32v2/eventlog.inc svneol=native#text/plain
@@ -694,6 +721,8 @@ fcl/image/fpimage.inc svneol=native#text/plain
 fcl/image/fpimage.pp svneol=native#text/plain
 fcl/image/fpimgcanv.pp svneol=native#text/plain
 fcl/image/fpimgcmn.pp svneol=native#text/plain
+fcl/image/fpmake.inc svneol=native#text/plain
+fcl/image/fpmake.pp svneol=native#text/plain
 fcl/image/fppalette.inc svneol=native#text/plain
 fcl/image/fppen.inc svneol=native#text/plain
 fcl/image/fppixlcanv.pp svneol=native#text/plain
@@ -728,6 +757,8 @@ fcl/inc/eventlog.pp svneol=native#text/plain
 fcl/inc/ezcgi.pp svneol=native#text/plain
 fcl/inc/felog.inc svneol=native#text/plain
 fcl/inc/fpasync.pp svneol=native#text/plain
+fcl/inc/fpmake.inc svneol=native#text/plain
+fcl/inc/fpmake.pp svneol=native#text/plain
 fcl/inc/gettext.pp svneol=native#text/plain
 fcl/inc/idea.pp svneol=native#text/plain
 fcl/inc/inifiles.pp svneol=native#text/plain
@@ -756,6 +787,8 @@ fcl/inc/zstream.pp svneol=native#text/plain
 fcl/linux/syncobjs.pp svneol=native#text/plain
 fcl/net/Makefile -text
 fcl/net/Makefile.fpc svneol=native#text/plain
+fcl/net/fpmake.inc svneol=native#text/plain
+fcl/net/fpmake.pp svneol=native#text/plain
 fcl/net/fpsock.pp svneol=native#text/plain
 fcl/net/httpbase.pp svneol=native#text/plain
 fcl/net/httpclient.pp svneol=native#text/plain
@@ -788,6 +821,8 @@ fcl/os2/pipes.inc svneol=native#text/plain
 fcl/os2/resolve.inc svneol=native#text/plain
 fcl/passrc/Makefile -text
 fcl/passrc/Makefile.fpc svneol=native#text/plain
+fcl/passrc/fpmake.inc svneol=native#text/plain
+fcl/passrc/fpmake.pp svneol=native#text/plain
 fcl/passrc/pastree.pp svneol=native#text/plain
 fcl/passrc/paswrite.pp svneol=native#text/plain
 fcl/passrc/pparser.pp svneol=native#text/plain
@@ -806,6 +841,8 @@ fcl/shedit/README -text
 fcl/shedit/classes.txt svneol=native#text/plain
 fcl/shedit/doc_text.pp svneol=native#text/plain
 fcl/shedit/drawing.inc svneol=native#text/plain
+fcl/shedit/fpmake.inc svneol=native#text/plain
+fcl/shedit/fpmake.pp svneol=native#text/plain
 fcl/shedit/gtk/Makefile -text
 fcl/shedit/gtk/Makefile.fpc svneol=native#text/plain
 fcl/shedit/gtk/gtkdemo.pp svneol=native#text/plain
@@ -919,6 +956,8 @@ fcl/xml/Makefile.fpc svneol=native#text/plain
 fcl/xml/README -text
 fcl/xml/dom.pp svneol=native#text/plain
 fcl/xml/dom_html.pp svneol=native#text/plain
+fcl/xml/fpmake.inc svneol=native#text/plain
+fcl/xml/fpmake.pp svneol=native#text/plain
 fcl/xml/htmldefs.pp svneol=native#text/plain
 fcl/xml/htmwrite.pp svneol=native#text/plain
 fcl/xml/sax.pp svneol=native#text/plain

+ 82 - 0
fcl/db/dbase/fpmake.inc

@@ -0,0 +1,82 @@
+{ Make DB directory and all subdirectories }
+{ FULLDB will be defined if included from db directory }
+{ FULLFCL will be defined if included from main FCL directory }
+
+{ DBase, only for I386}
+Targets.ResetDefaults;  
+Targets.DefaultCPU:=[i386];
+Targets.DefaultOS:=[linux,win32,freebsd];
+Targets.DefaultDir:='db/dbase';
+T:=Targets.AddUnit('dbf');
+T:=Targets.Addexampleunit('testdbf');
+If (Defaults.CPU=i386) and (Defaults.OS in [linux,win32,freebsd]) then
+  begin
+  { Install files. }
+  InstallFiles.add('dbf_common.o');
+  InstallFiles.add('dbf_common.ppu');
+  InstallFiles.add('dbf_cursor.o');
+  InstallFiles.add('dbf_cursor.ppu');
+  InstallFiles.add('dbf_dbffile.o');
+  InstallFiles.add('dbf_dbffile.ppu');
+  InstallFiles.add('dbf_fields.o');
+  InstallFiles.add('dbf_fields.ppu');
+  InstallFiles.add('dbf_idxcur.o');
+  InstallFiles.add('dbf_idxcur.ppu');
+  InstallFiles.add('dbf_idxfile.o');
+  InstallFiles.add('dbf_idxfile.ppu');
+  InstallFiles.add('dbf_lang.o');
+  InstallFiles.add('dbf_lang.ppu');
+  InstallFiles.add('dbf_memo.o');
+  InstallFiles.add('dbf_memo.ppu');
+  InstallFiles.add('dbf_parser.o');
+  InstallFiles.add('dbf_parser.ppu');
+  InstallFiles.add('dbf_pgfile.o');
+  InstallFiles.add('dbf_pgfile.ppu');
+  InstallFiles.add('dbf_prscore.o');
+  InstallFiles.add('dbf_prscore.ppu');
+  InstallFiles.add('dbf_prsdef.o');
+  InstallFiles.add('dbf_prsdef.ppu');
+  InstallFiles.add('dbf_prssupp.o');
+  InstallFiles.add('dbf_prssupp.ppu');
+  InstallFiles.add('dbf_str.o');
+  InstallFiles.add('dbf_str.ppu');
+  if (Defaults.OS<>win32) then
+    begin
+    InstallFiles.add('dbf_wtil.ppu');
+    InstallFiles.add('dbf_wtil.o');
+    end;
+  { Clean files }
+  CleanFiles.add('dbf_common.o');
+  CleanFiles.add('dbf_common.ppu');
+  CleanFiles.add('dbf_cursor.o');
+  CleanFiles.add('dbf_cursor.ppu');
+  CleanFiles.add('dbf_dbffile.o');
+  CleanFiles.add('dbf_dbffile.ppu');
+  CleanFiles.add('dbf_fields.o');
+  CleanFiles.add('dbf_fields.ppu');
+  CleanFiles.add('dbf_idxcur.o');
+  CleanFiles.add('dbf_idxcur.ppu');
+  CleanFiles.add('dbf_idxfile.o');
+  CleanFiles.add('dbf_idxfile.ppu');
+  CleanFiles.add('dbf_lang.o');
+  CleanFiles.add('dbf_lang.ppu');
+  CleanFiles.add('dbf_memo.o');
+  CleanFiles.add('dbf_memo.ppu');
+  CleanFiles.add('dbf_parser.o');
+  CleanFiles.add('dbf_parser.ppu');
+  CleanFiles.add('dbf_pgfile.o');
+  CleanFiles.add('dbf_pgfile.ppu');
+  CleanFiles.add('dbf_prscore.o');
+  CleanFiles.add('dbf_prscore.ppu');
+  CleanFiles.add('dbf_prsdef.o');
+  CleanFiles.add('dbf_prsdef.ppu');
+  CleanFiles.add('dbf_prssupp.o');
+  CleanFiles.add('dbf_prssupp.ppu');
+  CleanFiles.add('dbf_str.o');
+  CleanFiles.add('dbf_str.ppu');
+  if (Defaults.OS<>win32) then
+    begin
+    Cleanfiles.add('dbf_wtil.ppu');
+    CleanFiles.add('dbf_wtil.o');
+    end;
+  end;

+ 20 - 0
fcl/db/dbase/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('../..');
+  With Installer do 
+    begin
+    {$i ../../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 37 - 0
fcl/db/fpmake.inc

@@ -0,0 +1,37 @@
+{ Make DB directory and all subdirectories }
+{ FULLDB will be defined if included from db directory }
+{ FULLFCL will be defined if included from main FCL directory }
+
+Targets.DefaultDir:='db';
+T:=Targets.AddUnit('dbconst');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('db');
+T:=Targets.AddUnit('ddg_ds');
+T:=Targets.AddUnit('ddg_rec');
+T:=Targets.AddUnit('dbwhtml');
+T.ResourceStrings:=True;
+
+{  sdf directory }
+{$i sdf/fpmake.inc}
+
+{ memds directory }
+{$i memds/fpmake.inc}
+
+{ sqldb directory }
+{$i sqldb/fpmake.inc}
+
+{ interbase directory }
+{$i interbase/fpmake.inc }
+
+{ sqlite directory }
+{$i sqlite/fpmake.inc}
+
+{ dbase directory}
+{$i dbase/fpmake.inc}
+
+{ mysql directory}
+{$i mysql/fpmake.inc}
+
+{ directory}
+{ $i /fpmake.inc}
+    

+ 21 - 0
fcl/db/fpmake.pp

@@ -0,0 +1,21 @@
+{$mode objfpc}
+{$H+}
+{$define FULLDB}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('..');
+  With Installer do 
+    begin
+    {$i ../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 18 - 0
fcl/db/interbase/fpmake.inc

@@ -0,0 +1,18 @@
+{ Make DB directory and all subdirectories }
+{ FULLDB will be defined if included from db directory }
+{ FULLFCL will be defined if included from main FCL directory }
+
+{ Interbase directory } 
+Targets.ResetDefaults;
+Targets.DefaultDir:='db/interbase';
+Targets.DefaultCPU:=[i386];
+Targets.DefaultOS:=[win32,openbsd,netbsd,freebsd,linux];
+T:=Targets.AddUnit('interbase');
+T:=Targets.AddExampleUnit('testib');
+if Defaults.OS in Targets.DefaultOS then
+  begin
+  CleanFiles.add('ibas40.o');
+  CleanFiles.add('ibas40.ppu');
+  CleanFiles.add('ibase60.o');
+  CleanFiles.add('ibase60.ppu');
+  end;

+ 20 - 0
fcl/db/interbase/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('../..');
+  With Installer do 
+    begin
+    {$i ../../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 12 - 0
fcl/db/memds/fpmake.inc

@@ -0,0 +1,12 @@
+{ Make DB directory and all subdirectories }
+{ FULLDB will be defined if included from db directory }
+{ FULLFCL will be defined if included from main FCL directory }
+
+    Targets.ResetDefaults;
+    Targets.DefaultDir:='db/memds';
+    T:=Targets.AddUnit('memds');
+    T.ResourceStrings:=True;
+    Targets.Addexampleunit('testpop');
+    Targets.Addexampleunit('testopen');
+    Targets.Addexampleunit('testld');
+    Targets.Addexampleunit('testcp');

+ 20 - 0
fcl/db/memds/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('../..');
+  With Installer do 
+    begin
+    {$i ../../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 21 - 0
fcl/db/mysql/fpmake.inc

@@ -0,0 +1,21 @@
+{ Make DB directory and all subdirectories }
+{ FULLDB will be defined if included from db directory }
+{ FULLFCL will be defined if included from main FCL directory }
+
+Targets.ResetDefaults;
+Targets.DefaultDir:='db/mysql';
+Targets.DefaultOS:=[win32,openbsd,netbsd,freebsd,darwin,linux];
+T:=Targets.AddUnit('mysqldb4');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('mysqldb3');
+T.ResourceStrings:=True;
+Targets.Addexampleunit('mtest');
+if Defaults.OS in Targets.DefaultOS then
+  begin
+  CleanFiles.add('mysql.o');
+  CleanFiles.add('mysql.ppu');
+  CleanFiles.add('mysql_com.o');
+  CleanFiles.add('mysql_com.ppu');
+  CleanFiles.add('mysql_version.o');
+  CleanFiles.add('mysql_version.ppu');
+  end;

+ 20 - 0
fcl/db/mysql/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('../..');
+  With Installer do 
+    begin
+    {$i ../../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 20 - 0
fcl/db/odbc/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('../..');
+  With Installer do 
+    begin
+    {$i ../../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 11 - 0
fcl/db/sdf/fpmake.inc

@@ -0,0 +1,11 @@
+{ Make DB directory and all subdirectories }
+{ FULLDB will be defined if included from db directory }
+{ FULLFCL will be defined if included from main FCL directory }
+
+
+{ db/sdf directory }
+Targets.ResetDefaults;
+Targets.DefaultDir:='db/sdf';
+T:=Targets.AddUnit('sdfdata');
+Targets.AddExampleUnit('testsdf');
+Targets.AddExampleUnit('testfix');

+ 20 - 0
fcl/db/sdf/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('../..');
+  With Installer do 
+    begin
+    {$i ../../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 21 - 0
fcl/db/sqldb/fpmake.inc

@@ -0,0 +1,21 @@
+{ Make DB directory and all subdirectories }
+{ FULLDB will be defined if included from db directory }
+{ FULLFCL will be defined if included from main FCL directory }
+
+
+Targets.ResetDefaults;
+Targets.DefaultDir:='db/sqldb';
+T:=Targets.AddUnit('sqldb');
+T.ResourceStrings:=True;
+
+{ Include connection drivers }    
+
+{ PosGreSQL } 
+{$i postgres/fpmake.inc}
+
+{ MySQL }  
+{$i mysql/fpmake.inc}
+
+{ Interbase/Firebird }
+{$i interbase/fpmake.inc}
+    

+ 21 - 0
fcl/db/sqldb/fpmake.pp

@@ -0,0 +1,21 @@
+{$mode objfpc}
+{$H+}
+{$define FULLSQLDB}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('../..');
+  With Installer do 
+    begin
+    {$i ../../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 11 - 0
fcl/db/sqldb/interbase/fpmake.inc

@@ -0,0 +1,11 @@
+{ Make DB directory and all subdirectories }
+{ FULLSQLDB will be defined if included from SQLDB directory alone}
+{ FULLDB will be defined if included from db directory alone}
+{ FULLFCL will be defined if included from main FCL directory }
+
+Targets.ResetDefaults;
+Targets.DefaultDir:='db/sqldb/interbase';
+{ Drivers only for the following OSes }
+Targets.DefaultOS:=[win32,openbsd,netbsd,freebsd,darwin,linux];
+T:=Targets.AddUnit('ibconnection');
+T.ResourceStrings:=True;

+ 20 - 0
fcl/db/sqldb/interbase/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('../../..');
+  With Installer do 
+    begin
+    {$i ../../../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 11 - 0
fcl/db/sqldb/mysql/fpmake.inc

@@ -0,0 +1,11 @@
+{ Make DB directory and all subdirectories }
+{ FULLSQLDB will be defined if included from SQLDB directory alone}
+{ FULLDB will be defined if included from db directory alone}
+{ FULLFCL will be defined if included from main FCL directory }
+
+Targets.ResetDefaults;
+Targets.DefaultDir:='db/sqldb/mysql';
+{ Drivers only for the following OSes }
+Targets.DefaultOS:=[win32,openbsd,netbsd,freebsd,darwin,linux];
+T:=Targets.AddUnit('mysql4conn');
+T.ResourceStrings:=True;

+ 20 - 0
fcl/db/sqldb/mysql/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('../../..');
+  With Installer do 
+    begin
+    {$i ../../../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 11 - 0
fcl/db/sqldb/postgres/fpmake.inc

@@ -0,0 +1,11 @@
+{ Make DB directory and all subdirectories }
+{ FULLSQLDB will be defined if included from SQLDB directory alone}
+{ FULLDB will be defined if included from db directory alone}
+{ FULLFCL will be defined if included from main FCL directory }
+
+Targets.ResetDefaults;
+Targets.DefaultDir:='db/sqldb/postgres';
+{ Drivers only for the following OSes }
+Targets.DefaultOS:=[win32,openbsd,netbsd,freebsd,darwin,linux];
+T:=Targets.AddUnit('pqconnection');
+T.ResourceStrings:=True;

+ 20 - 0
fcl/db/sqldb/postgres/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('../../..');
+  With Installer do 
+    begin
+    {$i ../../../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 7 - 0
fcl/db/sqlite/fpmake.inc

@@ -0,0 +1,7 @@
+{ Make DB directory and all subdirectories }
+{ FULLDB will be defined if included from db directory }
+{ FULLFCL will be defined if included from main FCL directory }
+
+Targets.ResetDefaults;
+Targets.DefaultDir:='db/sqlite';
+T:=Targets.AddUnit('sqliteds');

+ 20 - 0
fcl/db/sqlite/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('../..');
+  With Installer do 
+    begin
+    {$i ../../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 20 - 0
fcl/db/tests/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('../..');
+  With Installer do 
+    begin
+    {$i ../../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 12 - 0
fcl/fpcunit/fpmake.inc

@@ -0,0 +1,12 @@
+{ Make FPCUnit directory and all subdirectories }
+{ FULLFCL will be defined if included from main FCL directory }
+
+Targets.ResetDefaults;
+Targets.DefaultDir:='fpcunit';
+T:=Targets.AddUnit('fpcunit');
+T.ResourceStrings:=true;
+T:=Targets.AddUnit('testregistry');
+T:=Targets.AddUnit('testreport');
+T:=Targets.AddUnit('testutils');
+T:=Targets.AddUnit('testdecorator');
+T:=Targets.AddUnit('ubmockobject');

+ 20 - 0
fcl/fpcunit/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('..');
+  With Installer do 
+    begin
+    {$i ../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 49 - 0
fcl/fpmake.pp

@@ -0,0 +1,49 @@
+{$mode objfpc}
+{$H+}
+{ Define FullFCL, this way we know it's a complete FCL build} 
+{$DEFINE FULLFCL} 
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  With Installer do 
+    begin
+    { general definitions }
+    {$i fclmake.inc}
+
+    { Basic targets. }
+    {$i inc/fpmake.inc}
+    
+    { XML directory }
+    {$i xml/fpmake.inc}
+    
+    { Image directory }
+    {$i image/fpmake.inc}
+    
+    { db directory }
+    {$i db/fpmake.inc}
+    
+    { Shedit directory }  
+    {$i shedit/fpmake.inc}
+
+    { Passrc directory }
+    {$i passrc/fpmake.inc}
+    
+    { Net directory }
+    {$i net/fpmake.inc}
+    
+    { fpcunit directory }
+    {$i fpcunit/fpmake.inc}
+
+    Targets.ResetDefaults;
+    
+    { All done.}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 38 - 0
fcl/image/fpmake.inc

@@ -0,0 +1,38 @@
+{ Make image directory and all subdirectories }
+{ FULLFCL will be defined if included from main FCL directory }
+
+Targets.ResetDefaults;
+Targets.DefaultDir:='image';
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('fpimgcmn');
+T:=Targets.AddUnit('fpimage');
+T:=Targets.AddUnit('pngcomn');
+T:=Targets.AddUnit('fpreadpng');
+T:=Targets.AddUnit('fpwritepng');
+T:=Targets.AddUnit('fpreadxpm');
+T:=Targets.AddUnit('fpwritexpm');
+T:=Targets.AddUnit('clipping');
+T:=Targets.AddUnit('fpcanvas');
+T:=Targets.AddUnit('pixtools');
+T:=Targets.AddUnit('fppixlcanv');
+T:=Targets.AddUnit('fpimgcanv');
+T:=Targets.AddUnit('pscanvas');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('fpwritebmp');
+T:=Targets.AddUnit('fpreadbmp');
+T:=Targets.AddUnit('bmpcomn');
+T:=Targets.AddUnit('fpreadpnm');
+T:=Targets.AddUnit('fpwritepnm');
+T:=Targets.AddUnit('fpreadjpeg');
+T:=Targets.AddUnit('fpwritejpeg');
+T:=Targets.AddUnit('targacmn');
+T:=Targets.AddUnit('fpreadtga');
+T:=Targets.AddUnit('fpwritetga');
+T:=Targets.AddUnit('ellipses');
+T:=Targets.AddUnit('freetypeh');
+T.OS:=[win32,linux,freebsd];
+T:=Targets.AddUnit('freetype');
+T.OS:=[win32,linux,freebsd];
+T:=Targets.AddUnit('ftfont');
+T.OS:=[win32,linux,freebsd];
+Targets.AddExampleProgram('imgconv');

+ 20 - 0
fcl/image/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('..');
+  With Installer do 
+    begin
+    {$i ../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 90 - 0
fcl/inc/fpmake.inc

@@ -0,0 +1,90 @@
+{ Make general directory and all subdirectories }
+{ FULLFCL will be defined if included from main FCL directory, }
+{ which should always be the case for this file }
+
+Targets.ResetDefaults;
+Targets.DefaultDir:='inc';
+T:=Targets.AddUnit('contnrs');
+T:=Targets.AddUnit('inifiles');
+T:=Targets.AddUnit('ezcgi');
+T:=Targets.AddUnit('pipes');
+T:=Targets.AddUnit('rtfpars');
+T:=Targets.AddUnit('idea');
+T:=Targets.AddUnit('base64');
+T:=Targets.AddUnit('gettext');
+T:=Targets.AddUnit('iostream');
+T:=Targets.AddUnit('zstream');
+T:=Targets.AddUnit('cachecls');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('avl_tree');
+T:=Targets.AddUnit('xmlreg');
+T:=Targets.AddUnit('registry');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('eventlog');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('custapp');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('cgiapp');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('wformat');
+T:=Targets.AddUnit('whtml');
+T:=Targets.AddUnit('wtex');
+T:=Targets.AddUnit('rttiutils');
+T:=Targets.AddUnit('bufstream');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('streamex');
+T:=Targets.AddUnit('process');
+T.OS:=[freebsd,darwin,netbsd,openbsd,linux,win32];
+T:=Targets.AddUnit('ssockets');
+T.OS:=[freebsd,darwin,netbsd,openbsd,linux,win32,os2,emx,netware,netwlibc];
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('resolve');
+T.OS:=[freebsd,darwin,netbsd,openbsd,linux,win32,os2,emx,netware,netwlibc];
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('fpasync');
+T.OS:=[freebsd,darwin,netbsd,openbsd,linux];
+T:=Targets.AddUnit('syncobjs');
+T.OS:=[freebsd,darwin,linux,win32,netwlibc];
+T.Directory:=OSToString(Defaults.OS);
+T:=Targets.AddUnit('win32/fileinfo');
+T.OS:=[win32];
+
+{ Clean files. }  
+CleanFiles.add('adler.o');
+CleanFiles.add('adler.ppu');
+CleanFiles.add('gzcrc.o');
+CleanFiles.add('gzcrc.ppu');
+CleanFiles.add('gzio.o');
+CleanFiles.add('gzio.ppu');
+CleanFiles.add('infblock.o');
+CleanFiles.add('infblock.ppu');
+CleanFiles.add('infcodes.o');
+CleanFiles.add('infcodes.ppu');
+CleanFiles.add('inffast.o');
+CleanFiles.add('inffast.ppu');
+CleanFiles.add('inftrees.o');
+CleanFiles.add('inftrees.ppu');
+CleanFiles.add('infutil.o');
+CleanFiles.add('infutil.ppu');
+CleanFiles.add('minigzip.o');
+CleanFiles.add('minigzip.ppu');
+CleanFiles.add('paszlib.o');
+CleanFiles.add('paszlib.ppu');
+CleanFiles.add('trees.o');
+CleanFiles.add('trees.ppu');
+CleanFiles.add('zbase.o');
+CleanFiles.add('zbase.ppu');
+CleanFiles.add('zcompres.o');
+CleanFiles.add('zcompres.ppu');
+CleanFiles.add('zdeflate.o');
+CleanFiles.add('zdeflate.ppu');
+CleanFiles.add('zinflate.o');
+CleanFiles.add('zinflate.ppu');
+CleanFiles.add('zuncompr.o');
+CleanFiles.add('zuncompr.ppu');
+CleanFiles.add('zutil.o');
+CleanFiles.add('zutil.ppu');
+CleanFiles.add('pthreads.o');
+CleanFiles.add('pthreads.ppu');
+CleanFiles.add('streamio.o');
+CleanFiles.add('streamio.ppu');

+ 20 - 0
fcl/inc/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('..');
+  With Installer do 
+    begin
+    {$i ../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 16 - 0
fcl/net/fpmake.inc

@@ -0,0 +1,16 @@
+{ Make net directory and all subdirectories }
+{ FULLFCL will be defined if included from main FCL directory }
+
+Targets.ResetDefaults;
+Targets.DefaultDir:='net';
+Targets.DefaultOS:=[linux,freebsd,netbsd,openbsd];
+T:=Targets.AddUnit('servlets');
+T:=Targets.AddUnit('fpsock');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('httpbase');
+T:=Targets.AddUnit('httpclient');
+T:=Targets.AddUnit('httpsvlt');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('xmlrpc');
+Targets.AddProgram('mkxmlrpc');
+T.ResourceStrings:=True;

+ 20 - 0
fcl/net/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('..');
+  With Installer do 
+    begin
+    {$i ../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 12 - 0
fcl/passrc/fpmake.inc

@@ -0,0 +1,12 @@
+{ Make passrc directory and all subdirectories }
+{ FULLFCL will be defined if included from main FCL directory }
+
+Targets.ResetDefaults;
+Targets.DefaultDir:='passrc';
+T:=Targets.AddUnit('pastree');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('pscanner');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('pparser');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('paswrite');

+ 20 - 0
fcl/passrc/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('..');
+  With Installer do 
+    begin
+    {$i ../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 9 - 0
fcl/shedit/fpmake.inc

@@ -0,0 +1,9 @@
+{ Make shedit directory and all subdirectories }
+{ FULLFCL will be defined if included from fcl directory }
+
+Targets.ResetDefaults;  
+Targets.DefaultDir:='shedit';
+T:=Targets.AddUnit('doc_text');
+T:=Targets.AddUnit('shedit');
+T:=Targets.AddUnit('sh_xml');
+T:=Targets.AddUnit('sh_pas');

+ 20 - 0
fcl/shedit/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('..');
+  With Installer do 
+    begin
+    {$i ../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+

+ 18 - 0
fcl/xml/fpmake.inc

@@ -0,0 +1,18 @@
+{ Make XML directory and all subdirectories }
+{ FULLFCL will be defined if included from main FCL directory }
+
+Targets.ResetDefaults;
+Targets.DefaultDir:='xml';
+T:=Targets.AddUnit('sax');
+T.ResourceStrings:=True;
+T:=Targets.AddUnit('dom');
+T:=Targets.AddUnit('sax_html');
+T:=Targets.AddUnit('dom_html');
+T:=Targets.AddUnit('xmlcfg');
+T:=Targets.AddUnit('xmlread');
+T:=Targets.AddUnit('xmlstreaming');
+T:=Targets.AddUnit('xmlwrite');
+T:=Targets.AddUnit('xhtml');
+T:=Targets.AddUnit('htmldefs');
+T:=Targets.AddUnit('htmwrite');
+T:=Targets.AddUnit('xpath');

+ 20 - 0
fcl/xml/fpmake.pp

@@ -0,0 +1,20 @@
+{$mode objfpc}
+{$H+}
+program fpmake;
+
+uses fpmkunit;
+
+Var
+  T : TTarget;
+   
+begin
+  ChangeDir('..');
+  With Installer do 
+    begin
+    {$i ../fclmake.inc}
+    {$i fpmake.inc}
+    EndPackage;
+    Run;
+    end;
+end.
+