Changeset 446


Ignore:
Timestamp:
Jul 25, 2003, 8:46:22 PM (22 years ago)
Author:
bird
Message:

libcXY.prf - Profiler version of the library.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/src/lib/libc.smak

    • Property cvs2svn:cvs-rev changed from 1.13 to 1.14
    r445 r446  
    4747.TKIND          := omf
    4848LIBC.DLL        := $.omf/libc$(VH)$(VM).dll
     49LIBC.IMPLIB     := $.omf/c_dll.lib $.aout/c_dll.a
    4950LIBC.DEF        := $.omf/libc.def
    50 LIBC.IMPLIB     := $.omf/c_dll.lib $.aout/c_dll.a
    5151LIBC.OBJS       := $.omf/src/lib/startup/386/dll0.obj $.omf/src/lib/startup/dllinit.obj
    5252LIBC.LIBS       := $.omf/c.lib $.omf/c_app.lib
    5353LIBC.DEPS       := $.omf/os2stub.bin
    5454LIBC.DLL.OBJS   :=
    55 LIBC.DIRS       := $(sort $(dir $(.OBJS) $(.DEPS) $(LIBC.DLL.OBJS)))
    56 TARGDIRS        += $(LIBC.DIRS)
     55LIBC.DIRS       := $(sort $(dir $(LIBC.OBJS) $(LIBC.DEPS) $(LIBC.DLL.OBJS)))
     56
     57LIBC.PRF.DLL    := $(LIBC.DLL:.dll=.prf)
     58LIBC.PRF.DEF    := $.omf/libc.prf.def
     59LIBC.PRF.OBJS   := $.omf/src/lib/startup/386/dll0.obj $.omf-prof/src/lib/startup/dllinit.obj
     60LIBC.PRF.LIBS   := $.omf-prof/c_p.lib $.omf-prof/c_app_p.lib
     61LIBC.PRF.DEPS   := $(LIBC.DEPS)
     62LIBC.PRF.DIRS   := $(sort $(dir $(LIBC.PRF.OBJS) $(LIBC.PRF.DEPS)))
     63
     64TARGDIRS        += $(LIBC.DIRS) $(LIBC.PRF.DIRS)
    5765
    5866                       
    5967# LIBC linking.
    60 #$(LIBC.DLL): $.omf/src/lib/startup/386/dll0.obj $.omf/src/lib/startup/386/dll0.obj $(.OBJS) $(.DEPS) $(LIBC.DLL.OBJS) $(LIBC.DEF)
    6168$(LIBC.DLL): $(LIBC.OBJS) $(LIBC.LIBS) $(LIBC.DEF) $(LIBC.DEPS)
    6269        $(LD) -o $(@:.dll=.dbg) -Zomf $(subst -s,,$(LDFLAGS.DLL)) -nostdlib  \
     
    6673                -L$.omf -los2 -lgcc -lgcc_eh -lc_alias -lend \
    6774                -Zlinker -STUB:$.omf/os2stub.bin
    68                
    6975ifeq ($(MODE),opt)
    7076        cp $(@:.dll=.dbg) $@
     
    9399        $(AR) r $@ $(if $(findstring .lib,$@), $.omf/src/lib/startup/dllinit.obj, $.aout/src/lib/startup/dllinit.o)
    94100       
     101
     102# LIBC.PRF - Profiling version of libcXY.dll
     103## @todo: use os2_p, but that appeares to be broken at the moment.
     104$(LIBC.PRF.DLL): $(LIBC.PRF.OBJS) $(LIBC.PRF.LIBS) $(LIBC.PRF.DEF) $(LIBC.PRF.DEPS)
     105        $(LD) -o $@ -Zomf $(subst -s,,$(LDFLAGS.DLL)) -nostdlib  \
     106            $(LIBC.PRF.DEF) \
     107                $(LIBC.PRF.OBJS) \
     108                $(LIBC.PRF.LIBS) \
     109                -L$.omf -los2 -lgcc -lgcc_eh -lc_alias -lend \
     110                -Zlinker -STUB:$.omf/os2stub.bin
     111        echo $@         
     112
     113# LIBC .def file (two steps).
     114$(LIBC.PRF.DEF): $(LIBC.DEF)
     115        $(call RM,$@)
     116        cp $< $@
     117        @$(call FECHO,$@,"   __mcount @99")
     118        @$(call FECHO,$@,"")
     119        @$(call FECHO,$@,"IMPORTS");
     120        @$(call FECHO,$@," __mcount = KPROFILE.3")
     121        @$(call FECHO,$@,"")
     122
    95123       
    96124# Put libc into the big picture. (semihacks)
     
    99127.PHONY: libc-dll
    100128all: libc-dll
    101 libc-dll: emxbind emxexp app alias libc os2 $(LIBC.DIRS) $(LIBC.DLL) $(LIBC.IMPLIB)
     129libc-dll: emxbind emxexp app alias libc os2 \
     130                        $(LIBC.DIRS) $(LIBC.DLL) $(LIBC.IMPLIB) \
     131                        $(LIBC.PRF.DIRS) $(LIBC.PRF.DLL)
    102132
    103133# Installation.
    104134INS.FILES       += $(INS)lib/$(notdir $(LIBC.DLL)) \
    105135  $(INS)lib/$(notdir $(LIBC.DLL:.dll=.dbg)) \
    106   $(addprefix $(INS)lib/,$(notdir $(LIBC.IMPLIB)))
     136  $(addprefix $(INS)lib/,$(notdir $(LIBC.IMPLIB))) \
     137  $(INS)lib/$(notdir $(LIBC.PRF.DLL))
    107138
    108139$(INS)lib/$(notdir $(LIBC.DLL)): $(LIBC.DLL)
     140        $(call CP,$<,$@)
     141       
     142$(INS)lib/$(notdir $(LIBC.PRF.DLL)): $(LIBC.PRF.DLL)
    109143        $(call CP,$<,$@)
    110144
     
    130164        $(call TOUCH,$@)
    131165
     166# dependencies to help make (baka, baka, baka)
     167$.omf-prof/src/lib/startup/dllinit.obj: $.aout-prof/src/lib/startup/dllinit.o
     168        $(DO.EMXOMF)
     169                       
    132170# Forget temporary variables
    133171include comend.smak
Note: See TracChangeset for help on using the changeset viewer.