diff --git a/rtl/os2/Makefile b/rtl/os2/Makefile index bd05f574d0..c877edf6ba 100644 --- a/rtl/os2/Makefile +++ b/rtl/os2/Makefile @@ -1,5 +1,5 @@ # -# Makefile generated by fpcmake v0.99.15 [2000/05/26] +# Makefile generated by fpcmake v0.99.15 [2000/06/13] # defaultrule: all @@ -193,7 +193,7 @@ endif # Targets override LOADEROBJECTS+=prt0 prt1 code2 code3 -override UNITOBJECTS+=$(SYSTEMUNIT) objpas strings os2def doscalls moncalls kbdcalls viocalls dos crt objects printer sysutils math typinfo cpu mmx getopts heaptrc +override UNITOBJECTS+=$(SYSTEMUNIT) objpas strings ports os2def doscalls moncalls kbdcalls moucalls viocalls pmbitmap pmwin pmgpi dive pmerr dos crt objects printer sysutils math typinfo ucomplex cpu mmx getopts heaptrc lineinfo # Clean @@ -628,18 +628,18 @@ ifneq ($(OS_TARGET),$(OS_SOURCE)) override FPCOPT+=-T$(OS_TARGET) endif -ifdef UNITSDIR -override FPCOPT+=-Fu$(UNITSDIR) +# User dirs should be first, so they are looked at first +ifdef UNITDIR +override FPCOPT+=$(addprefix -Fu,$(UNITDIR)) endif - -ifdef NEEDINCDIR -override FPCOPT+=$(addprefix -Fi,$(NEEDINCDIR)) +ifdef LIBDIR +override FPCOPT+=$(addprefix -Fl,$(LIBDIR)) endif - - -# Target dirs -ifdef TARGETDIR -override FPCOPT+=-FE$(TARGETDIR) +ifdef OBJDIR +override FPCOPT+=$(addprefix -Fo,$(OBJDIR)) +endif +ifdef INCDIR +override FPCOPT+=$(addprefix -Fi,$(INCDIR)) endif # Smartlinking @@ -682,22 +682,24 @@ ifdef VERBOSE override FPCOPT+=-vwni endif -# Add commandline options +ifdef UNITSDIR +override FPCOPT+=-Fu$(UNITSDIR) +endif + +ifdef NEEDINCDIR +override FPCOPT+=$(addprefix -Fi,$(NEEDINCDIR)) +endif + + +# Target dirs +ifdef TARGETDIR +override FPCOPT+=-FE$(TARGETDIR) +endif + +# Add commandline options last so they can override ifdef OPT override FPCOPT+=$(OPT) endif -ifdef UNITDIR -override FPCOPT+=$(addprefix -Fu,$(UNITDIR)) -endif -ifdef LIBDIR -override FPCOPT+=$(addprefix -Fl,$(LIBDIR)) -endif -ifdef OBJDIR -override FPCOPT+=$(addprefix -Fo,$(OBJDIR)) -endif -ifdef INCDIR -override FPCOPT+=$(addprefix -Fi,$(INCDIR)) -endif # Add defines from FPCOPTDEF to FPCOPT ifdef FPCOPTDEF @@ -847,6 +849,12 @@ fpc_debug: .PHONY: fpc_smart fpc_shared +ifdef LIBVERSION +LIBFULLNAME=$(LIBNAME).$(LIBVERSION) +else +LIBFULLNAME=$(LIBNAME) +endif + # Default sharedlib units are all unit objects ifndef SHAREDLIBUNITOBJECTS SHAREDLIBUNITOBJECTS:=$(UNITOBJECTS) @@ -860,7 +868,7 @@ ifdef inlinux ifndef LIBNAME @$(ECHO) "LIBNAME not set" else - $(PPUMOVE) $(SHAREDLIBUNITOBJECTS) -o$(LIBNAME) + $(PPUMOVE) $(SHAREDLIBUNITOBJECTS) -o$(LIBFULLNAME) endif else @$(ECHO) "Shared Libraries not supported" @@ -878,14 +886,7 @@ endif ifdef INSTALLPPUFILES ifdef PPUFILES -ifdef inlinux INSTALLPPULINKFILES:=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES)) -ifdef LIBNAME -INSTALLPPULIBFILES=$(LIBNAME) -endif -else -INSTALLPPULINKFILES:=$(shell $(PPUFILES) $(INSTALLPPUFILES)) -endif else INSTALLPPULINKFILES:=$(wildcard $(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES))) endif @@ -900,8 +901,11 @@ ifdef INSTALLPPUFILES ifneq ($(INSTALLPPULINKFILES),) @$(ECHO) -e $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPULINKFILES)) endif -ifneq ($(INSTALLPPULIBFILES),) - @$(ECHO) -e $(addprefix "\n"$(LIBINSTALLDIR)/,$(INSTALLPPULIBFILES)) +ifneq ($(wildcard $(LIBFULLNAME)),) + @$(ECHO) $(LIBINSTALLDIR)/$(LIBFULLNAME) +ifdef inlinux + @$(ECHO) $(LIBINSTALLDIR)/$(LIBNAME) +endif endif endif ifdef EXTRAINSTALLFILES @@ -924,9 +928,12 @@ ifdef INSTALLPPUFILES ifneq ($(INSTALLPPULINKFILES),) $(INSTALL) $(INSTALLPPULINKFILES) $(UNITINSTALLDIR) endif -ifneq ($(INSTALLPPULIBFILES),) +ifneq ($(wildcard $(LIBFULLNAME)),) $(MKDIR) $(LIBINSTALLDIR) - $(INSTALL) $(INSTALLPPULIBFILES) $(LIBINSTALLDIR) + $(INSTALL) $(LIBFULLNAME) $(LIBINSTALLDIR) +ifdef inlinux + ln -sf $(LIBFULLNAME) $(LIBINSTALLDIR)/$(LIBNAME) +endif endif endif ifdef EXTRAINSTALLFILES @@ -1044,7 +1051,7 @@ ifdef EXTRACLEANFILES -$(DEL) $(EXTRACLEANFILES) endif ifdef LIBNAME - -$(DEL) $(LIBNAME) + -$(DEL) $(LIBNAME) $(LIBFULLNAME) endif -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE) @@ -1161,12 +1168,28 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \ # System Dependent Units # +ports$(PPUEXT) : ports.pas objpas$(PPUEXT) $(SYSTEMPPU) + doscalls$(PPUEXT) : doscalls.pas strings$(PPUEXT) objects$(PPUEXT) $(SYSTEMPPU) kbdcalls$(PPUEXT) : kbdcalls.pas $(SYSTEMPPU) +moucalls$(PPUEXT) : moucalls.pas $(SYSTEMPPU) + moncalls$(PPUEXT) : moncalls.pas strings$(PPUEXT) $(SYSTEMPPU) +os2def$(PPUEXT) : os2def.pas $(SYSTEMPPU) + +pmwin$(PPUEXT) : pmwin.pas os2def$(PPUEXT) $(SYSTEMPPU) + +pmbitmap$(PPUEXT) : pmbitmap.pas $(SYSTEMPPU) + +pmerr$(PPUEXT) : pmerr.pas $(SYSTEMPPU) + +pmgpi$(PPUEXT) : pmgpi.pas pmbitmap$(PPUEXT) $(SYSTEMPPU) + +dive$(PPUEXT) : dive.pas os2def$(PPUEXT) pmwin$(PPUEXT) $(SYSTEMPPU) + # # TP7 Compatible RTL Units # @@ -1200,6 +1223,8 @@ math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT) # Other system-independent RTL Units # +ucomplex$(PPUEXT): $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMPPU) + cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMPPU) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMPPU) @@ -1209,6 +1234,8 @@ getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMPPU) heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMPPU) $(COMPILER) -Sg $(INC)/heaptrc.pp $(REDIR) +lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMPPU) + # # Other system-dependent RTL Units #